Skip to content

feat(analysis): Symbolic engine for formula manipulation #4

Open

Description

@hyperpolymath

Scientific Value

Parse formula AST, derive contrasts, prove BH family size, human-readable report, DOI bundle symbolic derivation.

Scope Deferred

  • Formula parser ~ + * : I() (1|batch) future
  • Contrast derivation k levels -> k*(k-1)/2
  • Provenance hash AST

Difficulty: Very Hard

Risks: Complexity, scope creep to mixed models, security injection, R NSE

See full spec in docs/milestones/02-deferred-issues.md

Activity

  1. hyperpolymath commented on Oct 16, 2026

    @hyperpolymath
    OwnerAuthor

    Triage, 2026-10-15 (backlog sort). Lane: A2-dependent — now status:blocked (it lacked the label; the dependency was always real): blocked behind #2's decision, which is itself blocked behind #1's deep statistical validation. No change in substance; the label now says what the body implied.

    Generated by Mistral Vibe.
    Co-Authored-By: Mistral Vibe vibe@mistral.ai

  2. hyperpolymath commented on Oct 16, 2026

    @hyperpolymath
    OwnerAuthor

    Addressed, 2026-10-16 — in the only way the rules allow.

    The full spec this issue points at is restored verbatim from the pre-rewrite history ([docs/milestones/02-deferred-issues.md](https://github.com/hyperpolymath/MetaManifold-WebUI/blob/main/docs/milestones/02-deferred-issues.md), PR #177) — the reference had dangled since the history rewrite. The spec carries this issue's full analysis: the formula-parser scope, contrast derivation, AST-hashed provenance, the security analysis (symbol whitelisting, system/eval/parse` refusal), the acceptance criteria, and the risk register.

    The gate, stated here so a reader of this issue alone cannot miss it: work on this issue is held by #2's mandatory hold, in the owner's own words: do not proceed with the symbolic engine until the statistics layer is fully and deeply tested; this issue records future intent and does not authorise implementation, engine integration, experimental user-facing exposure, or a symbolic dependency added in anticipation of later approval. The hold opens only when #1 meets its acceptance criteria (independent references, simulated and representative biological data, adversarial cases, negative controls, mutation/fuzz evidence) and the owner explicitly authorises opening this stage, with links to the validation evidence. No automatic unblocking — a closed #1 or a passing suite is not sufficient.

    When the gate legitimately opens, the first permitted work is #2's step 1, in order: (1) identify the concrete user problems and assess whether an engine is necessary at all against safer alternatives (numeric methods, AD, offline review); (2) compare candidate engines (the spec names Symbolics.jl vs custom; R terms.formula vs pure-Julia parsing is the other axis) on correctness, assumptions, licensing, offline bundling, x86-64/ARM64; (3) the design and threat model, with the constrained expression language and domain/assumption tracking; (4) validation fixtures before integration. Nothing here starts before that.

    Until then: this issue is blocked — recorded, specified, gated, and not built.

    Generated by Mistral Vibe.
    Co-Authored-By: Mistral Vibe vibe@mistral.ai

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority:p3Low - nice to havescientific-riskCarries scientific-correctness risk requiring explicit reviewscope:repoConfined to this repositorystatus:blockedCannot proceed until a dependency clears

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions