diff --git a/docs/product-technical-gap-live-refresh-2026-09-04.md b/docs/product-technical-gap-live-refresh-2026-09-04.md new file mode 100644 index 000000000..42cc2f5a5 --- /dev/null +++ b/docs/product-technical-gap-live-refresh-2026-09-04.md @@ -0,0 +1,69 @@ +# Product and technical gap live refresh — 2026-09-04 + +Status: **Non-authoritative live supplement** +Protected-product basis: `main@b5a3a0c1057d4b53d7a4bb18e0de69f630c2b45c` +Canonical historical baseline: `docs/product-technical-gap-baseline.md` +Latest immutable release: `v0.9.1` (published 2026-08-26) + +This supplement exists because the preceding refresh lane replaced the 1,036-line protected-main baseline with a 121-line live inventory. That rewrite removed valid PRD/TRD/UML, completion-profile, claim-register, standards/research, buyer-gate, release, accessibility and traceability material rather than refreshing it. The canonical baseline has therefore been restored byte-for-byte from protected `main`; current facts are carried here until a later reviewed consolidation can update the baseline without deleting valid evidence. + +A capability remains product authority only after integration into protected `main` and terminal applicable scientific, package, coverage, security, review, SBOM/provenance and release evidence on one unchanged exact head. Drafts, queued checks and predecessor approvals are evidence inputs only. + +## Current ownership and scientific boundary + +`fast-mlsirm` remains the canonical reusable psychometric numerical owner for LSIRM/MLSIRM/IRT/generalized-dependence kernels, true-parameter recovery and stable public bindings. Result-affecting likelihood, estimation, scoring, uncertainty, covariance/correlation, vector/linear/matrix and recovery arithmetic remain Rust/PyO3 owned. Python remains validation, provenance sealing, marshalling, orchestration, reporting and explicit reference/parity only. + +TEPP owns temporal/event semantics and composition. `contextual-orchestrator` owns provider/model routing and LLM orchestration. Foreign scientific/domain truth is consumed only through released/versioned contracts or explicit ACLs; no source copying, mutable sibling-head dependency or cross-service SQL is product authority. + +## Current high-leverage owner lanes + +| Gap | State | Exact owner evidence | Acceptance before product claim | +| --- | --- | --- | --- | +| Residual interaction-map public provenance | ACTIVE DRAFT | #1417 `f78f1a74c55ca770e106f1894c0d8fb92f3ea751` | Preserve Rust-owned Gabriel map arithmetic and versioned public envelope. The provenance digest must canonicalize every observed IEEE-754 NaN payload/sign variant, including quiet and signaling NaNs, to one missing-response byte identity in both Python and direct Rust while preserving exact finite binary64 evidence. Current-head hosted checks and independent review must be reacquired after RED `f2d0dd1d...` / `c65dd272...` → GREEN `ad9917f4...` / `6aeb9e8c...`; follow-up `2431666c...` / `f78f1a74...` closes the quiet-only edge-coverage gap without changing production arithmetic. | +| Validation-profile preregistration chronology | ACTIVE DRAFT | #1737 `6a0e43e10192895703cf18c5f50fdfb0fa73cc76` | Preserve exact UTC datetime admission after nested evidence replay. Caller-controlled chronology callbacks must fail closed. Exact-head required checks and independent approval must be reacquired after the RED→GREEN repair. | +| Generalized dependence / Model Specification | ACTIVE DRAFT | #1714 `619c9fa3daf37d59b96baf10e41b1f1df7813f6a` | Preserve supported/research-candidate/unsupported semantics; promotion still requires the exact primary citation, generative equation, identification contract, Rust estimator and formulation-specific recovery. | +| Machine-readable fit capability support | ACTIVE DRAFT | #1710 `41d2c5600db59c49999236b27c73b91b0359589a` | Canonical 1.0 support authority stays in package-owned sealed primitive rows. Returned `FitCapability` values are fresh, forged construction fails closed, and later mutation of live config-set aliases cannot redefine the already-imported versioned manifest/value-object contract. Current-head checks and an independent current-head approval must be reacquired after RED `7e937f65...` → GREEN `32021603...`. | +| Static covariance standardization | ACTIVE PR | #1722 `338dbb2d25f32b0e201102e7bf73076846fb57b3` | Rust numerical ownership, exact represented-input admission and scale/permutation invariance; TEPP may consume only a released immutable contract. | +| Mokken/AISP admission and decision controls | ACTIVE STACK | #1506 `cd46160c0a035fec2ded13fbacb11159f0d33ad4`; child #1724 `7764245d3d7618de08dc57e1434bb9b8e8c918ac` | Preserve package-owned response/result/control snapshots and Rust-owned H/Z/AISP arithmetic. Parent integrates first; child evidence is regenerated after ancestry movement. Embedded PR-body references to other predecessor SHAs are historical, not live head authority. | +| Multiple-membership/crossed recovery | ACTIVE PR | #1536 `77bef27cff780b909be484b52be35e97be752780` | Known-truth bias/MAE/RMSE, membership invariants, direct-Rust admission and worker determinism; no longitudinal or interval-coverage claim without its own evidence. | +| Rust distribution boundary + `sha2` 0.11 | ACTIVE PR | #1694 `756cf889a111717725de806329e8e5a64bbb5bc0` | Both internal Cargo implementation crates remain `publish = false`; Maturin/PyPI remains the external product unless a separate Rust SDK release boundary is governed. | +| Marginal objective binary64 reproducibility | ACTIVE DRAFT / SUCCESSOR | #1742 `959c05bf9e40877d65bd02aed82e6373ef16c99d`; retired #1746 `8f7262d14249269aef0589082b1afc78f221832e` | Preserve the deterministic CPU-f64 per-cell objective reduction until a profiled optimization has explicit numerical-contract, recovery and parity evidence. The retained tests prove two failure modes of rejected split reductions: an ordinary finite fixture moves by exactly one ULP, and the later algebraic `vdot(r, eta) + vdot(n, log_sigmoid(-eta))` route becomes `NaN` for finite saturated `eta=1e308`, `r=n=2` while the established reduction remains exactly `0.0`. #1746 is closed unmerged only after forward restoration to an empty effective diff and transfer of its valid stability finding here; formatter churn, temporary patch artifacts, duplicate Bolt guidance and unsupported speed claims are not product delta. Material hot-path work belongs in the Rust numerical owner. | +| Oblimax deterministic CPU-f64 reference semantics | ACTIVE DRAFT / STATIONARITY + RANGE + OPTIMIZER EVIDENCE | #1736 `fa54f33e36b4ea1087a0e6b453ec71e4680b490f`; issue #1747 | Initial RED `f1599d04...` / GREEN `e6235c78...` replace Oblimax `f64::powi`/`f64::ln`; RED `72be252b...` / GREEN `4401a9f9...` remove large-log cancellation by forming `(sum4 / sum2) / sum2` before the deterministic logarithm. RED `557789cd...` / GREEN `350c59fe...` condition exact `2^300`/`2^-300` scale-equivalent loadings before moment formation; `9ea947e6...` / `9b170fdd...` carry that contract through public oblique optimization. RED `720300d4...` / GREEN `72e5e6a9...` remove reciprocal-term cancellation at exact one-support stationary points. Current review then extended the stationary contract to the complete represented equal-magnitude support manifold: RED `5e78ac9d...` shows that accumulated `sum4/sum2` can round one ULP away from the common represented square for three equal supports, producing a false optimizer direction; causal GREEN `b00e91e4...` records exact bit-identical nonzero conditioned squares during the existing moment pass and reuses that represented square only on that exact manifold. `34e5e52e...` / `fa54f33e...` make changelog and doctoring current. These remain numerical-contract and integration fixtures, not VV-SCI-006 realistic recovery. Formula identity, bitwise route identity, psychometric recovery and supported-target parity remain distinct claims; current hosted gates are still non-terminal. | +| Strict JSON deserialization at judge/rubric boundaries | ACTIVE DRAFT / STACKED REPAIR | #1744 `6f80811036a22043755889e424667b579d5458ce`; prerequisite #1738 `c8ef8b0d2532393a77bfc5321a353d028b9bab18` | Reject Python non-finite constants at both boundaries and duplicate object members where protected main did not already reject them. Focused regression coverage is branch-owned. Security doctoring now distinguishes the pre-existing judge duplicate-key guard from the new rubric guard and removes unsupported impact claims. #1738 must integrate first; the non-force #1744 restack must preserve both guards, remove formatter-only drift, and add the missing production docstring for `_reject_nonfinite` before landing. | +| Item-bank report accessibility | ACTIVE DRAFT / SUCCESSOR | #1741 `c65543ee071cd19b1e1d0362f80c9f17cf230b9c`; retired predecessor #1743 | Preserve a focusable skip-link target, pointer-only focus suppression together with an explicit keyboard focus ring, reduced-motion behavior, semantic row headers and tabular numeric presentation. #1743 is closed only after its valid behavior and focused-test intent were inherited by #1741; formatter-only churn and competing `.Jules/palette.md` guidance are not product delta. | +| Iterator-fold performance rewrite | DISPOSITIONED / NO VALID DELTA | closed #1745 `f7d49c08eb0100860cd0ac2244deeb4794f4da2a`; rotation numerical-contract owner #1736 | The automated rewrite changed the rotation `powi(4)` arithmetic route without parity/recovery evidence and made an unsupported blanket fold recommendation. Person-fit iterator chains were lazy and supplied no reproducible benchmark proving material benefit. Forward repair restores every changed path to protected-main bytes; fresh main→head comparison has `files=[]`. Future optimization starts from profiling/benchmark evidence and preserves the deterministic CPU-f64/scientific contract. | +| Product/technical gap documentation | ACTIVE DRAFT | #1519 | Never trade live freshness for evidence deletion. The full protected baseline and the current live supplement must both survive until a reviewed consolidation proves no valid PRD/TRD/UML/research/release/buyer evidence is lost. | + +## Current merge and release gate + +Protected `main` is still `b5a3a0c1057d4b53d7a4bb18e0de69f630c2b45c`. It independently requires `Analyze (actions)`, `close-empty`, `scan-pr-queue`, `dependency-review`, `osv-scan`, `trivy-fs`, `scorecard`, `required-workflow-bootstrap`, `coverage-evidence`, `opencode-review`, `python`, `rust`, `package` and `fuzz` contexts. The latest observed central workflow owner is `.github/main@769691526f8c73cf714de8fe8ba51ae6cfa2901a`. + +Central `.github#1838` advanced the owner to `f0dd4065...` by consolidating Exact Artifact SBOM quality while preserving actual publication/attestation and removing a redundant quality workflow. Merged `.github#1819` then advanced `main` to `f8c3b304...` by recording Actions congestion and Noema/Strix hot-file divergence. Merged `.github#1839` advanced `main` to `80719692...` with a one-file Strix shell-output repair. Merged `.github#1842` then advanced authority to `07db37e5...`: generated repository-local CodeQL is kept off pull-request heads while protected default-branch push/schedule scanning remains, central `codeql-pr.yml` is retained as the single PR scanner, and ruleset-audit concurrency is isolated by trigger. Merged `.github#1845` advanced authority to `d6c636a9...` by admitting the exact live PR head before OpenCode/Noema review concurrency and cancelling stale review heads; push/schedule/release and Strix behavior are explicitly out of scope. Merged `.github#1847` advanced authority to `9c7d28a1...` by moving empty non-draft PR cleanup into the existing metadata-only merge scheduler, revalidating live head/open/draft/changed-file state before closure, and removing one standalone workflow/job. `109d79b7...` removed unsupported `queue: max` from central agent/coalescer workflows and moved exact-head admission ahead of per-PR concurrency. `df996797...` then added workflow-level concurrency to the hourly review scheduler so same-schedule pending heartbeats coalesce before `resolve-target` needs a runner. Merged `.github#1854` advanced authority to `34b79038...` by moving repository+PR concurrency for Strix, Required OpenCode Review and Required Noema Review to workflow admission, so queued superseded model runs can be cancelled before runner assignment; non-PR push/schedule runs retain run-id isolation. Merged `.github#1855` advanced authority to `4aad2690...` with runtime proof for that native cancellation contract: successive same-PR generations cancelled the preceding Strix/OpenCode/Noema runs while another PR and another repository remained isolated. Merged `.github#1856` then advanced authority to `f893b473...` by restoring `codeql-pr.yml` to the canonical required-workflow inventory and removing the stale scheduler exclusion that prevented exact-head CodeQL PR startup recovery. Its stated live acceptance is materialization of a non-startup-failure CodeQL PR run after the trusted-base/ruleset change. Current `.github#1851` advances authority to `76969152...` by installing the required HTTPX2 runtime and binding the exact OpenAI lock for Strix; that latest delta is Strix-runtime-specific and is not evidence that CodeQL/CI runner admission itself is healthy. These foreign-owner deltas are adopted rather than copied. + +The historical Actions defect remains relevant incident evidence rather than authority to churn clean leaf heads. On substantive #1710 head `41d2c560...`, CodeQL run `33827965206` materialized `Analyze (actions)` job `100884576993`, but it remained runnerless with `steps=[]`; CI `33827965233` remained pending with `jobs=[]`. This exact canary is recorded on central `.github#712` comment `5534619066`. Queued or absent execution is non-passing. + +The #1741 successor head `c65543ee...` independently reproduced the same pre-fix class: CodeQL run `33835387666` materialized `Analyze (actions)` job `100906727383` on `ubuntu-latest`, but it was queued with `runner_id=0`, no runner/group identity and `steps=[]`; its Python analysis was scope-skipped. CI run `33835387729` remained pending with `jobs=[]`. This remains incident evidence, not a reason to weaken or retrigger the leaf. + +The #1744 documentation-corrected head `6f808110...` also reproduced the pre-fix admission defect without a no-op retrigger: CodeQL run `33839177278` materialized required `Analyze (actions)` job `100917769805`, but it remained queued with no runner/group identity and `steps=[]`; Python analysis was scope-skipped. CI run `33839177204` remained pending with `jobs=[]`. This did not convert the still-open formatter/docstring/prerequisite findings into leaf GREEN. The matching #1519 canary was recorded with it on central `.github#712` comment `5535961011`. + +The #1742 successor head `959c05bf...` independently reproduced the same pre-fix class after a substantive numerical-contract test commit: CodeQL run `33851585887` materialized required `Analyze (actions)` job `100955381194`, but it remained queued with `runner_id=0`, empty runner/group identity and `steps=[]`; `Analyze (python)` was scope-skipped. CI run `33851585889` was pending with `jobs=[]`, while Semgrep `33851585663` and Security Scan `33851585771` were also queued. This exact canary followed a real stability regression, not a no-op retrigger, and predecessor success was not transferred. + +The #1417 provenance head `f78f1a74...` was a substantive test-evidence canary after the production NaN-canonicalization repair. CodeQL run `33849079557` materialized required `Analyze (actions)` job `100947516369`, but it remained queued before runner/source execution with empty runner/group identity and `steps=[]`; `Analyze (python)` was scope-skipped. CI run `33849079449` was pending; Semgrep `33849079438`, Security Scan `33849079593`, and ClusterFuzzLite `33849079522` were also non-terminal. The two newest branch commits close an edge-coverage gap by proving positive/negative signaling NaNs share the same missing-response digest as quiet NaNs in both public Python and direct Rust; no production arithmetic changed. Predecessor `3cdc684a...` had repository CI, CodeQL, Semgrep, Security Scan, OSV, Scorecard and fuzzing terminal green, but that predecessor evidence is deliberately not transferred. + +The pre-central-fix #1736 head `88573ea9...` included the scale-cancellation repair after the deterministic-log route was introduced. CodeQL run `33864345780` materialized required `Analyze (actions)` job `100995661527`, but it remained queued before runner/source execution with `steps=[]`; `Analyze (python)` was scope-skipped. CI `33864345169` was pending, while Semgrep `33864344772`, Security Scan `33864345094`, and ClusterFuzzLite `33864344857` were queued. RED `72be252b...` is source-level evidence only because its causal successor immediately superseded it; no predecessor or superseded-head success is transferred. + +The predecessor #1736 head `274362b...` was the first post-central-`109d79b7...` numerical/documentation canary. CodeQL run `33866642621` materialized `Analyze (actions)` job `101002902427` but remained queued; `Analyze (python)` was scope-skipped. CI run `33866642682` remained pending with `jobs=[]`; Security Scan `33866642666`, Semgrep `33866642629`, and ClusterFuzzLite `33866642593` were queued. That evidence is historical after later optimizer-contract commits and is not transferred. + +The predecessor #1736 head `9b170fdd...` added the optimizer integration contract. CodeQL run `33868864092` materialized required `Analyze (actions)` job `101009864493`, but it remained queued with `runner_id=0`, empty runner/group identity and `steps=[]`; `Analyze (python)` was scope-skipped. CI run `33868863936` remained pending with `jobs=[]`; Semgrep `33868864094`, Security Scan `33868864018`, and ClusterFuzzLite `33868864057` were queued. That head is historical after current doctoring moved and its status is not transferred. + +The predecessor #1736 head `4f26d996...` completed the range/optimizer doctoring boundary before the stationary-gradient repair. CodeQL run `33869375346` materialized required `Analyze (actions)` job `101011473756`, queued without runner/group identity and with `steps=[]`; `Analyze (python)` was scope-skipped. CI run `33869375312` was pending with `jobs=[]`; Security Scan `33869375370`, Semgrep `33869375345`, and ClusterFuzzLite `33869375319` were non-terminal. That head is historical and its status is not transferred. + +The current #1736 head `fa54f33e...` is a substantive Rust numerical-contract canary after the equal-magnitude stationary-manifold RED→GREEN repair and was created after central `.github#1856` merged. CodeQL PR run `33874447012` now materializes `Detect CodeQL languages` job `101027933479`, which establishes that the #1856 startup/materialization repair reached this leaf event; however that job remains queued with `runner_id=0`, empty runner/group identity and `steps=[]`. The separate CodeQL run `33874447020` materializes required `Analyze (actions)` job `101027928022`, likewise queued runnerless with `steps=[]`, while `Analyze (python)` is scope-skipped. CI `33874446901`, Security Scan `33874447009`, Semgrep `33874446941`, and ClusterFuzzLite `33874447002` remain non-terminal. Thus startup materialization improved, but this exact head is still not hosted GREEN and no predecessor evidence is transferred. + +The #1519 documentation lane has repeatedly reproduced the same queue/admission class on substantive additive-document heads. Its exact current head and current-head workflow evidence are maintained in the PR landing authority rather than self-referentially embedding the file's own future commit SHA here. Central owner issue `.github#712` remains the causal Actions/RCA path; documentation movement is not used as a retrigger mechanism. + +The only observed #1710 `APPROVED` review remains bound to predecessor `e50033e00dc392d532a4fa941ce390c8ef4e8dbe`, so it does not authorize landing the current `41d2c560...` head. Therefore no current open PR is landed merely because repository-owned source tests or predecessor checks were green. Self-approval, administrator bypass, force update, no-op retrigger and predecessor-evidence transfer remain prohibited. + +## Non-destructive refresh rule + +Future baseline refreshes must be additive or surgically replacement-scoped. Before any update, compare line count and semantic sections against protected main. A refresh that removes valid completion profiles, PRD/TRD/UML, standards/research traceability, claim limitations, release gates or buyer acceptance evidence is a repair finding, not successful maintenance. The correct response is forward restoration or verified supersession, never silent truncation. \ No newline at end of file diff --git a/docs/product-technical-gap-live-refresh-2026-09-05.md b/docs/product-technical-gap-live-refresh-2026-09-05.md new file mode 100644 index 000000000..b4c276081 --- /dev/null +++ b/docs/product-technical-gap-live-refresh-2026-09-05.md @@ -0,0 +1,40 @@ +# Product and technical gap live refresh — 2026-09-05 + +Status: **Non-authoritative live supplement** +Protected-product basis: `main@493326f2de49ea1704da0ded19868ed05d2fe00f` +Canonical historical baseline: `docs/product-technical-gap-baseline.md` +Previous additive supplement: `docs/product-technical-gap-live-refresh-2026-09-04.md` +Latest immutable release: `v0.9.1` + +This file updates live evidence that moved after the 2026-09-04 supplement. The protected 1,036-line baseline and preceding supplement remain preserved. Draft/Ready branches are evidence, not shipped product authority; a capability becomes product authority only after protected integration and the applicable scientific, package, coverage, security, review, SBOM/provenance and release gates are terminal on one unchanged exact head. + +## Ownership boundary + +`fast-mlsirm` remains the canonical reusable psychometric numerical owner for LSIRM/MLSIRM/IRT/generalized-dependence kernels, true-parameter recovery and stable public bindings. Result-affecting likelihood, estimation, scoring, uncertainty, covariance/correlation, vector/linear/matrix and recovery arithmetic remain Rust/PyO3 owned. Python remains validation, provenance sealing, marshalling, reporting and explicit reference/parity evidence. + +TEPP owns temporal/event semantics and composition. `contextual-orchestrator` owns provider/model routing and LLM orchestration. Foreign domain truth is consumed only through released/versioned contracts or explicit ACLs; source copying, mutable sibling-head dependencies and cross-service SQL are not product authority. + +## Exact live owner lanes + +| Gap | Exact owner state | Remaining acceptance | +| --- | --- | --- | +| Protected GPU merge gate + repository PR lifecycle | #1717 Ready `fbe1262050bf00e6bd71b6709fca81902ae21a52` | Reconciliation preserves explicit Ubuntu 24.04 identity and the protected `python -> [python-matrix, gpu-smoke]` dependency while retaining #1749 lifecycle/concurrency semantics. Current-head hosted execution and independent approval remain required; queue pressure is not a reason to weaken the GPU or other protected gates. | +| ClusterFuzzLite inactive-PR cancellation | #1754 Ready `2ecfea90cbc4eb35a2b2eedeb262cd83ead24efe` | Original `f9f93607...` incorrectly removed `converted_to_draft`/`closed`; concurrent forward `9e288c92...` restored them, removed competing `ci.yml` ownership and kept ClusterFuzzLite concurrency at workflow admission. Current `2ecfea90...` pins the exact lifecycle event set. On this unchanged head the Draft-state CI run `33943673921` reached cancelled; marking the repaired PR Ready then created CI `33944125746` and ClusterFuzzLite `33944125764`, both still non-terminal. Earlier predecessor cancellation/skip evidence remains historical and is not current GREEN. | +| Local-dependence stable public API | #1748 Ready `013e1d8995d751d03922dc733ae3ed717a512519` | Existing Chen–Thissen X2/G2 arithmetic remains Rust-owned. Python seals public controls/results while the public Rust boundary now owns versioned `ld-resource-v1` work ceilings before ICC-node or pair allocation. Xi cardinality is single-owned by `nodes::xi_node_count`; direct-Rust evidence covers Halton/Monte Carlo support and MIRT Xi non-use. CI `33938505419`, ClusterFuzzLite `33938505459`, Security `33938505478`, CodeQL `33938505443`, CodeQL PR `33938505402` and Semgrep `33938505373` remain non-terminal; no qualifying current-head approval exists. | +| Factor-retention governed result invariants | #1479 Ready `48ec1d357aca76cada2720c2f7918ac30baa5f3b` | Effective delta remains four factor-retention owner paths after non-force merge-forward to current protected main. Public result construction replays method/count/evidence/decision invariants rather than trusting forgeable frozen records. Exact-current hosted gates and independent approval remain required; predecessor GREEN is historical only. | +| Marginal reduction reproducibility | #1742 Ready `dbb6a9bf74e940280fc5b0c247469b7850534709` | Test-only successor preserves ordinary one-ULP objective drift, finite-to-NaN saturated-logit drift, and one-ULP row-distance drift from rejected reassociations. Production marginal arithmetic remains protected-main behavior. Ready-event CI `33935708280` is not terminal; future optimization requires profiling plus deterministic CPU-f64 and realistic recovery/parity evidence and should prefer the Rust numerical owner. | +| Person-fit scalar loop-fusion optimization | #1752 Draft `ca9d1b717ae8052a66041af928ef68d46173fbf5` | The one-pass ZU3 scalar fold is only a performance hypothesis. Focused correctness tests do not prove cache behavior, material speedup or release-codegen binary64 parity. `ca9d1b71...` has the same source tree `623b1eee991e4f8a495b11a9e95d00d31d7a0092` as predecessor `6a9182c5...`, so it adds no benchmark/test delta and is retained only because destructive history rewrite is prohibited. Ready requires a repository-controlled same-profile benchmark with dispersion/uncertainty plus exact `f64::to_bits()` parity on adversarial finite fixtures; without reproducible material benefit, restore protected-main implementation. | +| Oblimax deterministic CPU-f64 reference | #1736 Draft `44806471463dda11ed251c4e43c3f9e9e0f7293a`; issue #1747 | Deterministic log/power routing, ratio-before-log cancellation repair, exact power-of-two range conditioning, public optimizer scale contract and represented stationary-manifold fixes are numerical evidence. Scientific completion still requires supported-target bit parity and VV-SCI-006 realistic known-population recovery with global sign/permutation alignment, Tucker congruence, loading/target RMSE where identified, uncertainty/stability, basin support and degeneracy diagnostics. | +| v0.9.2 immutable release | #1471 Draft `d6edc8ea83d8bd0b0840786ca4e8974623560b1f` | Current-main ancestry and Draft provenance are repaired, but release serialization remains RED. `CHANGELOG.md` still contains the superseded managed Unreleased block and historical `[0.9.2] - 2026-08-27`, while authoritative fragments include later protected-main evidence. The exact tag target must atomically recut the managed block and release section, preserve the historical 17 folded deltas, assign the real release date only at cut time, then reacquire version/lock/test/security/package/SBOM/provenance/reproducibility/rollback/review evidence. | +| Item-bank evidence-reference provenance child | #1476 Draft `f3c66f0e9f7788e0e20e4f3ef4cbbe5f110fa811`, stacked on #1471 | Its three provenance/error-boundary files remain valid, but parent #1471 is still source-RED. Integrate/reconcile the release parent first, then non-force restack the child and reacquire exact-current hosted evidence. | +| Product/technical gap evidence preservation | #1519 single writer | Preserve the protected historical baseline plus dated additive supplements. Do not replace evidence-rich PRD/TRD/UML/research/release/buyer/accessibility/traceability history with a short inventory. Consolidation is allowed only after a reviewed diff proves no valid evidence is lost. | + +## Current merge and workflow authority + +Protected `main@493326f2de49ea1704da0ded19868ed05d2fe00f` still requires `Analyze (actions)`, `close-empty`, `scan-pr-queue`, `dependency-review`, `osv-scan`, `trivy-fs`, `scorecard`, `required-workflow-bootstrap`, `coverage-evidence`, `opencode-review`, `python`, `rust`, `package` and `fuzz` contexts. + +Central workflow authority is `.github/main@8a15cde08116d6a1d9c3ab4ec70f9db56ab2b56c` (#1887). Parent #1886 pins the remaining named residual workflows to explicit Ubuntu 24.04 but leaves the dominant organization-wide queue congestion unexplained. Parent #1888 separates CodeQL native-dispatch concurrency by `required_language`, preventing same-PR language shards from cancelling one another. Current #1887 hardens current-head run coalescing: an accepted cancellation request is not reported as complete until GitHub is polled to terminal `completed/cancelled`; unproven cancellation fails closed instead of being counted as reclaimed queue work. These are central workflow-owner repairs only; they do not retroactively make existing leaf runs GREEN, repair unrelated Actions acquisition congestion, or authorize protected-gate weakening. + +## Release/scientific claim rule + +No Draft or Ready branch above is a shipped capability. Source-level RED/GREEN lineage, lifecycle canaries, queued workflow creation, resolved review threads and predecessor success are evidence inputs, not substitutes for unchanged-current-head terminal hosted success. Scientific/release claims additionally require their stated recovery/parity/provenance gates and a qualifying independent current-head approval. No self-approval, bypass, force update, destructive rebase, gate weakening, skip/xfail success accounting, no-op source churn or predecessor-success transfer is authorized. diff --git a/docs/product-technical-gap-live-refresh-2026-09-07.md b/docs/product-technical-gap-live-refresh-2026-09-07.md new file mode 100644 index 000000000..3641384ca --- /dev/null +++ b/docs/product-technical-gap-live-refresh-2026-09-07.md @@ -0,0 +1,197 @@ +# Product and technical gap live refresh — 2026-09-07 + +Status: **Non-authoritative point-in-time supplement** +Observed at: **`2026-09-08T13:01:15Z`** +Protected-product basis: **`main@493326f2de49ea1704da0ded19868ed05d2fe00f`** +Canonical historical baseline: **`docs/product-technical-gap-baseline.md`** +Previous additive supplement: **`docs/product-technical-gap-live-refresh-2026-09-05.md`** +Latest immutable release: **`v0.9.1`**, published 2026-08-26 + +This supplement records only evidence that changed after the preceding snapshot. +It does not replace the PRD, TRD, architecture, ADR, UML/ERD, Context Map, +requirements traceability, scientific evidence, or the protected historical +baseline. Open branches and their checks remain evidence, not shipped product +authority. Every merge or release decision must re-fetch the exact head, live +base, review threads, required checks, ruleset result, and active writer. + +## Authority and ownership continuity + +- Product scope and acceptance authority remain `docs/PRD.md` and + `docs/TRD.md`. +- The repository boundary and Context Map remain `ARCHITECTURE.md` and the + status-bearing ADR graph under `docs/adr/`. +- UML/ERD and requirements authority remain the linked document families in + the protected baseline; this supplement creates no competing model. +- `fast-mlsirm` owns reusable, domain-neutral IRT/LSIRM/MLSIRM mathematical and + Psychometrics kernels, true-parameter recovery, stable bindings, and release + evidence. Result-affecting covariance, correlation, vector, linear, matrix, + likelihood, estimation, scoring, uncertainty, and recovery arithmetic remain + Rust/PyO3 owned. +- `ContextualWisdomLab/.github` owns reusable CI, review, security, and release + orchestration. A leaf repository does not copy or bypass an immature central + workflow; it waits behind the released contract or uses a bounded test double. + +## Fresh inventory + +GitHub search returned **64 open pull requests** and **201 open issues** for +`ContextualWisdomLab/fast-mlsirm` at the observation time. These counts are a +denominator for this snapshot, not a live invariant. Protected `main` and the +latest immutable release have not moved since the 2026-09-05 supplement. + +## Buyer-visible gap and action status + +| Gap / bounded context | Exact evidence | Action | Status | +| --- | --- | --- | --- | +| Central scheduler REST workflow identity | `ContextualWisdomLab/.github#1986` exact head `4604909a9b68cb29cda431d71bc0ed3d37f11af3`, protected base `c9052e607e5f3cc76e73207e7786b21500721b79`, two changed files | Preserve per-workflow parallelism while coalescing concurrent reads for one `(repository, workflow_id)`; treat a deleted workflow's HTTP 404 as an absent static identity while propagating other failures | **Ready, auto-merge armed behind protection.** RED reproduced 11 duplicate reads and 404 propagation. GREEN: 21 focused tests; scheduler aggregate 349 passed; repository 2,990 passed / 1 skipped / 21 subtests; coverage and public-doc checks 100%. Hosted exact-head security/review checks remain non-terminal and no current-head approval exists. | +| Actions queue measurement and workflow-waste evidence boundary | `ContextualWisdomLab/.github#1905` exact head `fcdb8dfe6951704cce688ec2e3756837b04bd71c`, two-parent reconciled on current #1903 `f4ff7f8c025c4d0a15145c3cd634d96c92326ec3`, one ledger path | Preserve the 35-workflow static observations while distinguishing a modeled admission ceiling from observed concurrent occupancy and a measured lower bound; continue capacity investigation and required-context-preserving graph repair in parallel | **Ready stacked evidence, not protected authority.** Current #1903 is an ancestor (`behind_by=0`); the contradicted global conclusions remain removed or bounded, and the residual literal `job\\namong` formatting defect is repaired. Exact-head baseline contracts are 5 passed and diff check is clean. Ready review admission was restored on the unchanged head at `2026-09-07T03:16:43Z`; CodeQL PR `34079111710`, Semgrep `34079111737`, and Security `34079111714` are queued. The predecessor-head CHANGES_REQUESTED review does not transfer; independent current-head review and ordinary stacked integration remain pending. | +| Review and CodeQL dispatch identity | `ContextualWisdomLab/.github#1929`; actor canary run `34069437294`; earlier cross-repository status failures `34017996201` and `34018021069` | Preserve actor=sender=one reviewed identity; prove a same-repository terminal canary and repair the separate cross-repository status credential without widening trust | **Actor admission repaired; issue remains open.** Live configuration now admits both `github-actions[bot]` and `opencode-agent[bot]`, and the canary passed actor validation before a later live-head mismatch. No same-repository terminal receipt is yet proven, while the cross-repository publication path still has HTTP 403 evidence. | +| CodeQL rerun recovery, live-base liveness, exact-run settlement, and receipt identity | `ContextualWisdomLab/.github#1902` exact head `e0924260c2105b49e8840701ce8509d765125b0f`, tree `b41c05ff2410c1ebc7799e491a7da04483ee55e7`, protected base `main@7fd571dbcdbae6acf29d8f4ee704d7ba6297e4db`, twelve CodeQL-owner paths | Capture and revalidate one live base across the attempt; allow only a compare-proven same-ref strict forward advance to trigger a whole exact-run rerun; distinguish absent evidence from multiple complete producers and stop ambiguity before credential acquisition or dispatch | **Source repaired and Ready for review admission; hosted gates pending.** Force=false descendants preserve concurrent gate-proof, late-base RED, and handler-window repair. RED reproduced late base-advance rejection plus three missing-telemetry ambiguity cases. GREEN: ambiguity focused 3 passed; repository 3,086 passed / 1 skipped / 21 subtests; statement `13,194/13,194`, branch `5,330/5,330`, total and public-doc coverage 100%; compileall and diff check clean. Multiple complete receipt/direct candidates emit exact run-ID/state telemetry and cause no token request or dispatch. Protected-base comparison is 62 ahead / 0 behind, mergeable, with zero unresolved threads. Ready was restored again at `2026-09-08T10:21:04Z` after a concurrent `10:16:24Z` Draft event with no GitHub App attribution, new review, unresolved thread, or source finding; further same-head toggling is a lifecycle/single-writer defect, not a reason for repeated state churn. CodeQL PR `34214980549`, SAST Semgrep `34214980613`, Python Security `34214980554`, and Security Scan `34214980560` are queued. Agent Review Runtime Quality `34214227385` is terminal success; the preceding Ready-event runs were cancelled and are not promoted. Hosted checks and qualifying independent current-head review remain merge gates; local actionlint is unavailable. Evidence: `.github#1902` comment `5583516600`. | +| Scheduler live-PR, Strix rerun identity, and lifecycle evidence preservation | `ContextualWisdomLab/.github#1999` exact head `64d19495095f42c292675dac9d7b73e8a6316d58`, tree `212153594cf4d90a9efb2e14526f408aa7634210`, stacked on `.github#1938@056226c56eff8c1aa01d29722f14c9820b97438d`, twelve scheduler/Strix/workflow-contract/doctoring paths | Require an explicitly open live PR, bind reruns to the verified failed Strix job, preserve executing same-head evidence across Draft/Ready/dispatch, wait for stale-run cleanup before launching the replacement provider, query/cancel central workflow runs at the run-owning repository while reading live PR state from the target repository, and retain protected-ref push coalescing with cancellation authority only for a newer push | **Ready for review admission; no auto-merge authorization.** Exact-head review found that the replacement provider could start before cleanup and that cleanup omitted stale `repository_dispatch` runs. RED reproduced both defects and the cross-repository ownership mismatch. GREEN is six focused lifecycle/cleanup tests, the focused Strix shell contract, repository 3,045 passed / 1 skipped / 21 subtests, statement/branch coverage 100% (`13,251` statements and `5,362` branches, zero miss/partial), and public-doc coverage 100%; `bash -n` and diff check are clean. The repair covers native and dispatched runs, separates target-repository PR reads from central run queries/cancellations, and gates provider start on cleanup success or skip. The stack is behind 0 and mergeable with zero unresolved threads; Ready was restored at `2026-09-07T05:39:30Z` only for review admission. Ready-event Security `34087645347`, CodeQL PR `34087645423`, and Semgrep `34087645342` are queued; the earlier push runs, including Semgrep `34087573459`, were cancelled after the Ready event, and none is promoted to GREEN. Local actionlint was unavailable; hosted workflow validation and qualifying independent review remain merge gates. | +| Immutable release SBOM and provenance | `fast-mlsirm#1692` exact head `a6ac0f49d5123244fe89f26748a65f551ad9d514`, protected base `493326f2de49ea1704da0ded19868ed05d2fe00f`, 12 changed files | Restore an authenticated current-head CodeQL dispatch verdict at the central owner, obtain a qualifying approval on the unchanged current head, then ordinary merge and release verification | **Source-ready, control-plane blocked.** Repository CI, native CodeQL, Security Scan, Semgrep, mergeability, and all review threads are GREEN/resolved. `CodeQL PR` run `34020936743` fails closed because a rerun has no authenticated terminal verdict; predecessor approval does not transfer. | +| Rust-owned local-dependence public API | `fast-mlsirm#1748` exact head `ef2dd4baa11027c43fccc448a8eb07e4dca6e104`, protected base `493326f2de49ea1704da0ded19868ed05d2fe00f`, 14 changed files | Re-fetch current-head scientific recovery, public-contract, coverage, security, and independent-review evidence before merge | **Ready and mergeable; not yet revalidated in this supplement.** The prior supplement's older head and checks are historical only. | +| Rust covariance-standardization stack | `fast-mlsirm#1722` exact head `28b0305595107fd0ba21d7b27c1ac5db68ae8bf1`, direct protected base `main@493326f2de49ea1704da0ded19868ed05d2fe00f`, five changed files | Preserve the Rust production owner and reacquire exact-head numerical recovery, formatting, security, CodeQL, and independent-review evidence before ordinary integration | **Non-force reconciled, behind 0, partially GREEN.** The prior `b5a3a0c1` value was an older protected-main SHA, not a live stacked base. Current `main` was merged normally and a changelog fragment was added. Native CodeQL `34076849581` and CI `34076849582` are terminal success; Semgrep `34076849554`, CodeQL PR `34076849542`, ClusterFuzzLite `34076849579`, and Security `34076849578` remain queued. The local environment has no Cargo, so no separate local Rust test or formatting GREEN is claimed; predecessor evidence and approval do not transfer. | +| Product/technical gap evidence | `fast-mlsirm#1519`, Ready single-writer branch `docs/refresh-product-gap-baseline-20260828` | Preserve the historical baseline and dated supplements; consolidate only after a reviewed proof that no PRD/TRD/UML/ERD/Context Map/scientific/release evidence is lost | **Active single writer.** This file is an additive delta on that branch, not a competing baseline writer. | + +## Release and claim boundary + +`v0.9.1` remains the latest immutable release. Neither a mergeable PR, a local +GREEN suite, queued hosted work, a resolved thread, nor an approval on an older +head is a release or GA claim. Technical GA still requires a bounded support +matrix, unchanged-head scientific recovery and cross-engine evidence where +applicable, stable API/artifact migration and rollback contracts, package/SBOM/ +provenance evidence, security and operability gates, and ordinary protected +integration. Domain validation, high-stakes use, hosted identity, consent, +persistence, human decision policy, and buyer workflow validation remain owned +by the consuming product. + +## Next safe sequence + +1. Let `.github#1902@e0924260` prove its base-advance whole-attempt recovery and exact required-run-bound receipt/direct-evidence path in hosted execution, then repair and prove the separate cross-repository HTTP + 403 publication path tracked by `.github#1929` without weakening identity. +2. Let `.github#1902@e0924260` and stacked `.github#1999@64d19495` acquire + exact-head hosted checks and independent review; keep `.github#2032` preserved + until #1902's hosted equivalence is proven. Ready is not approval or merge + authority, and no auto-merge change is recorded here. +3. Revalidate `fast-mlsirm#1692` on its unchanged head after the owner repair, + merge ordinarily, and + produce immutable release evidence before changing the released-version + claim. +4. Revalidate `fast-mlsirm#1722@28b03055` on its direct protected-main base, + including Cargo/Rust formatting and numerical recovery evidence, before + continuing the Rust numerical stack in dependency order. + +## 2026-09-08 central handler prerequisite correction + +`ContextualWisdomLab/.github#2040` is the canonical handler prerequisite for the +current CodeQL recovery stack. Its exact head +`d93a78ab4262c5228af7eda258ee0af58b880de7` (tree +`bc5e85327c4a531c935091c623e68ec8868e539b`) is 19 commits ahead and 0 +behind protected `main@7fd571dbcdbae6acf29d8f4ee704d7ba6297e4db`, changes +seven intended paths, is mergeable, and has zero unresolved review threads. +The handler accepts one nested or legacy rerun envelope, rejects coexistence +and ambiguity, binds the request to an immutable producer workflow source, +keeps matrix scans at `actions: read`, and gives one non-matrix settlement +owner `actions: write`. That owner revalidates the open PR, exact +head/base/ref, required run/jobs, handler job steps, nonexpired nonempty SARIF +artifacts, and unrelated-failure absence before one run-wide recovery request. + +RED `e0800adf0` required source-bound settlement evidence; GREEN is +`d93a78ab4262c5228af7eda258ee0af58b880de7`. Exact-tree verification is 45 +focused tests, 3,010 passed / 1 skipped / 21 subtests repository-wide, +statement and branch coverage 100%, public-doc coverage 100%, and clean diff +check. Local `actionlint` is unavailable. Ready was restored at +`2026-09-08T13:01:15Z` solely for review admission. Its automatically created +Ready-generation runs are CodeQL PR `34229436485`, Python Security +`34229436817`, SAST Semgrep `34229436541`, and Security Scan +`34229436635`; none was promoted to GREEN in this snapshot. A qualifying +independent current-head approval is also absent. Evidence: +`.github#2040` comment `5585550769`. + +The predecessor-head protected-handler run `34228191430` proves the +protected-main sibling-wake race but is neither current-head hosted GREEN nor +approval. `.github#1902` remains Draft until #2040 integrates ordinarily and +#1902 can be reconciled non-destructively. No bypass, manual rerun, synthetic +status, auto-merge authorization, or predecessor-evidence transfer is recorded. + +## 2026-09-08 canonical combined handler correction + +The preceding `d93a78ab…` snapshot is superseded by +`ContextualWisdomLab/.github#2040@a22dd5b7108698f5ae0c8dc0541c4dcc7b61abae` +(tree `d1ebad5966d83e658a8f44bf806af4b0652aedd0`). The exact head is an +ordinary two-parent child of prior canonical #2040 +`9054b5e664d1540736c6b83a7c4a2bb9399651a3` and +`ContextualWisdomLab/.github#2044@3720dd853fe399fd453e093a90944b2b0e78a8e6`. +This makes #2044's valid dual-identity repair, tests, documentation, and +requirements explicit in the combined successor's ancestry while all +predecessors remain open Proposed evidence. + +The exact tree rejects conflicting ref, conflicting SHA, and either partial +nested/legacy representation with separate executable fixtures. A fresh full +run first exposed the inherited scheduler invariant gap at +`pr_review_merge_scheduler_core.py:497`: 3,026 tests passed, but one uncovered +statement/branch left total coverage below the 100% contract. The minimal +fixture then produced focused 60 passed, repository-wide 3,027 passed / 1 +skipped / 21 subtests, statement and branch coverage 100%, public-doc coverage +100%, and clean diff check. Protected-base comparison is 56 ahead / 0 behind, +17 bounded paths, mergeable, with zero unresolved threads at publication. + +#2040 remains Ready only for review admission. Fresh exact-head runs are Python +Security `34237937741`, Security Scan `34237937787`, Agent Review Runtime +Quality `34237938200`, SAST Semgrep `34237937609`, and CodeQL PR +`34237937656`; all were non-terminal in this snapshot. No qualifying +current-head independent approval exists, so ordinary merge remains blocked. +Evidence: `.github#2040` comment `5586694059`. No merge, auto-merge +authorization, approval, protection bypass, manual rerun, synthetic status, +empty push, force push, destructive rebase, or predecessor-evidence transfer +is recorded. + +## 2026-09-08 central Gitleaks stack reconciliation + +Canonical CodeQL successor `ContextualWisdomLab/.github#2040` is now exact +head `d7bb95f6d6ca705725596df5170d6e1345080535` (tree +`588f31d1bc499112064911070c5854d8bcaf3491`) on protected +`main@7fd571dbcdbae6acf29d8f4ee704d7ba6297e4db`. It completely carries the +valid #1902/#2004/#2043/#2044 deltas in ordinary ancestry and publishes only +base-bound CodeQL receipt contexts. It is Ready for review admission, +mergeable, 142 ahead / 0 behind, with zero unresolved review threads. Its +focused producer/handler/recovery contracts are 139 passed; repository-wide +verification is 3,086 passed / 1 skipped / 21 subtests with clean diff check. +Fresh exact-head Semgrep `34244658720`, Security Scan `34244658738`, +Python Security `34244658692`, and Runtime Quality `34243847708` are +terminal GREEN. CodeQL PR `34244658739` failed closed after its initial +pending shards dispatched exact protected-handler run `34245634444`; handler +validation job `102126760959` rejected the new wake identity before scanning +because protected `.github/main@7fd571db…` predates this PR's producer/handler +contract. No SARIF or source finding was emitted. This is a protected-owner +circular admission boundary, not terminal GREEN. No qualifying current-head +independent approval exists; Ready is not merge or bypass authority. Evidence: +`.github#2040` comment `5587851931`. + +The dependent Gitleaks owner `ContextualWisdomLab/.github#2041` is exact head +`0f2b318c01bfa253c8ba13dc5b474cfd4349bf04` (tree +`cce2c06fe889a5a1c08c729bc345f4a3f326768e`). It is an ordinary force=false +two-parent child of prior #2041 `c51aae180f621d709163d295f1e9113671bc9585` +and current #2040 `d7bb95f6d6ca705725596df5170d6e1345080535`. +A history-aware merge reported clean but would have reverted valid current +CodeQL files, so that candidate was rejected before publication. The published +tree instead uses exact #2040 as authority and overlays only #2041's four +Gitleaks-boundary paths. + +Relative to #2040, #2041 is 17 commits ahead / 0 behind, mergeable, and changes +exactly `.github/workflows/security-scan.yml`, its CHANGELOG fragment, the +central Gap baseline, and the Gitleaks contract test. Exact-tree validation is +139 focused CodeQL/Gitleaks tests and repository-wide 3,090 passed / 1 skipped / +21 subtests, with statement/branch and public-doc coverage 100% and clean diff +check. Runtime Quality `34245990142`, Semgrep `34245990154`, Security Scan +`34245990120`, and Python Security `34245990168` are terminal GREEN. CodeQL +PR `34245990227` is terminal failure on attempt 1 after exact language jobs +failed closed pending a verdict and coordinator `102129408072` dispatched +successfully. Exact protected handler `34246569084` remains queued, so no SARIF +or source finding exists yet and no manual rerun is justified. #2041 remains +Draft/Proposed with no current-head review or unresolved thread. Evidence: +`.github#2041` comments `5587793299` and `5587910402`. + +No lifecycle toggle, merge, approval, auto-merge authorization, protection +bypass, manual rerun, synthetic status, empty push, force push, destructive +rebase, review dismissal, predecessor-evidence transfer, or PR Close is +recorded. diff --git a/docs/product-technical-gap-live-refresh-2026-09-10.md b/docs/product-technical-gap-live-refresh-2026-09-10.md new file mode 100644 index 000000000..d794aa093 --- /dev/null +++ b/docs/product-technical-gap-live-refresh-2026-09-10.md @@ -0,0 +1,52 @@ +# Product and technical gap live refresh — 2026-09-10 + +Status: **Non-authoritative live supplement** +Protected-product authority: `main@493326f2de49ea1704da0ded19868ed05d2fe00f` +Central workflow authority: `ContextualWisdomLab/.github@cb0872c9a20d5584703dffacca65c096fc034c6c` +Canonical historical baseline: `docs/product-technical-gap-baseline.md` +Latest immutable release: `v0.9.1` (published 2026-08-26, immutable) + +This supplement updates transient execution state without rewriting the evidence-rich historical baseline. Older live-refresh statements remain historical evidence; the exact states below supersede them for current execution decisions. A capability is shipped only after protected integration and its exact-head scientific, package, coverage, security, review, provenance, and release gates are satisfied. Drafts, queued checks, predecessor approvals, and foreign-owner PR heads remain evidence inputs only. + +`fast-mlsirm` remains the canonical owner for reusable LSIRM/MLSIRM/IRT/generalized-dependence numerical kernels, true-parameter recovery, and stable public bindings. TEPP owns temporal/event composition. `contextual-orchestrator` owns provider/model routing and LLM orchestration. Foreign-owner source or mutable PR heads are not copied into this repository. + +## Live high-leverage lanes + +| Gap | Exact owner state | Current exact evidence | Required next evidence | +| --- | --- | --- | --- | +| Rust 1.98.1 compiler/recovery qualification | #1773 `e49e631fbd672b27d408854d6c2409eea9ae073d`, Ready | Statistical Studies `34426709158` is terminal GREEN across all 25 governed jobs. Ordinary CI `34426709224`, ClusterFuzzLite `34426709173`, Security Scan `34426709276`, repository CodeQL `34426709299`, and Semgrep `34426709197` are GREEN. Required CodeQL PR `34426709242` is RED in the central control-plane lane. | Keep the 25/25 scientific result as current-head evidence, not shipped status. Normal landing still requires the central required-workflow defect to be repaired on its canonical owner path and a qualifying independent current-head approval. | +| Person-fit primary-source traceability | #1791 `bfe9c22ac4355da45504211148bec914bc632909`, Ready | Docs-only delta. Current-head CI `34321778532`, Required CodeQL PR `34309381421`, Security Scan `34309381490`, repository CodeQL `34309381389`, and Semgrep `34309381229` are GREEN. No qualifying current-head `APPROVED` review is established. | Preserve `PRIMARY_READ_EQUATION` as stricter than definition, metadata, bridge, or package-comparator evidence. Keep #1790 open until the implementation-relevant primary equations/conventions and executable seven-statistic conformance evidence are completed. | +| Raw JSON depth-floor security boundary | #1738 `4e1f8ade9a5ae90cf3e9eb4ccd8feb8a89023080`, Draft | The repaired product tree is unchanged while repeated source-neutral commits have continued even after Draft containment. Predecessor CI/review evidence is therefore not transferred. | Stop or demonstrate quiescence of the competing source writer, then obtain all ordinary/security/central/review evidence on one unchanged SHA before Ready admission. Do not create another history-only retrigger commit. | +| Strict JSON duplicate/non-finite admission | #1744 `48756e76c092237c40e59e613c33debb9fa877df`, Draft | Valid parser intent remains, but the focused `tests/test_strict_json_deserialization.py` evidence is absent from the current tree; generation does not independently pin `NaN`, `Infinity`, and `-Infinity`; new strict-decoding helpers lack boundary-purpose docstrings; Sentinel provenance again overstates the protected-main duplicate-key defect. | Wait for #1738 protected integration, then non-force reconcile from protected main. Restore focused hostile RED→GREEN coverage, accurate provenance, helper docstrings, and exact-head hosted/review evidence without copying a mutable prerequisite head. | +| Rust release-build warning in `lsr_pass` | #1799 open; reserved branch `fix/lsr-unused-nf-20260910@653ec84d443e6c9914aef8be3b53be9c32f2b299` | Protected main still contains one unused `let nf = n as f64;` at the `lsr_pass` boundary. Earlier broad full-file mutation was repaired forward and has zero effective product delta. | Delete only the dead binding through a safe complete-source/Git-data path, verify protected-main diff is exactly the causal production deletion, then run workspace/all-target Rust checks and scaling regressions. No lint suppression or warning-denominator change. | +| LLM credential/routing owner boundary | #1800 open | Protected documentation still describes direct provider-key ownership, but `contextual-orchestrator` has no immutable released API/client/schema authority suitable for a consumer pin. | Keep leaf migration fail-closed until contextual-orchestrator publishes a versioned immutable contract. Then consume only gateway-token + `orchestrator/free`; do not copy provider discovery, model/group selection, paid fallback, or routing source into fast-mlsirm. | +| Report keyboard focus / bypass interaction | #1768 `e70e7739114092eaf101bbaf070c2d58b939484e`, Draft | Canonical report lane has exact-head real-browser keyboard/pointer/responsive evidence and leaf security checks; dependent #1804/#1796 remain non-landing candidates. | Preserve unique dependent deltas only through the canonical lane. Central Required CodeQL and live review requirements must settle before normal landing; static CSS presence is not substituted for browser interaction evidence. | +| Marginal binary64 contract and optimization admission | #1742 `785e98c9282a51f77559e83133f5d8da16ad5942`, Draft; rejected competing #1805 closed with verified no-valid-delta | Effective protected-main product delta is exactly two regression files. The exact hexadecimal one-ULP fixture now drives the real `fit_marginal_numpy` M-step and proves that reassociating only the live row-wise squared-distance reduction changes returned zeta binary64 bits; the prior source-text assertion gap is repaired. Repository CodeQL `34507631930`, Security `34507631954`, and Semgrep `34507631933` are GREEN. Required CodeQL PR `34507631968` is RED in the central owner lane. | Keep production arithmetic unchanged. Do not re-admit `einsum`/`vdot`/fold optimization without governed profile, allocation/RSS, deterministic CPU-f64 parity and realistic recovery evidence. Keep this lane Draft until central `.github#2082` stops stale cancellation/invalid zero-diff closure and `.github#2051` repairs required-CodeQL lifecycle ordering; then obtain one stable unchanged-head Ready generation. | +| Central Required CodeQL rollout | `.github#2051@558693e0333e48012beea142f739bc634b0674a7`, Draft; #2056 stacked Draft | Protected central authority is `.github/main@cb0872c9a20d5584703dffacca65c096fc034c6c`; #2051 still records an older base and owns the versioned handler/bootstrap and exact receipt/wake repair. On #1742 current head, Required CodeQL PR `34507631968` again let actions/python receivers finish reading their current-head verdicts and fail enforcement before coordinator `102974614561` subsequently dispatched the generation. | Reconcile the central prerequisite non-destructively onto current protected authority, land the versioned backward-compatible handler prerequisite first, then obtain a fresh unchanged-head consumer generation whose dispatch/receipt authority exists before receiver enforcement. Do not synthesize success or copy dispatch/status logic into the leaf. | +| PR writer/closure lineage safety | central `.github#2082`, open; fast-mlsirm #1742 is the live canary | A stale Jules cancellation removed #1742's two still-valid regression files twice after Ready admission. OpenCode then twice closed the instantaneous zero-diff PR despite no verified successor inheriting the scientific delta. Both losses were repaired by ordinary forward commits; `3830907f7c1e7bdfb3b6efc0b0cf582430bb5148...785e98c9282a51f77559e83133f5d8da16ad5942` has `files=[]`, proving byte-for-byte restoration of the reviewed behavioral tree. | Auto-close admission must use lineage/successor authority, not terminal `diff==0` alone, and stale source writers must adopt the newer canonical state instead of replaying obsolete cancellation intent. #1742-class disappearing-valid-delta stays open/Draft; #1805-class affirmatively rejected/no-unique-delta may close. | + +## Current commercial/scientific admission + +Open inventory at this refresh is 82 pull requests and 204 issues. The repository-wide open-PR search contains zero `review:approved` results. These counts are workload inventory, not quality or completion metrics. + +The immediate highest-value path is to convert already-complete exact-head evidence into protected product authority without weakening governance: unblock the central Required CodeQL owner path and obtain independent current-head approvals for otherwise-clean candidates such as #1791 and, after central repair, #1773. In parallel, keep source-changing scientific work on its existing numerical owners: person-fit primary-equation/conformance closure, the one-line Rust release-warning repair, strict JSON repair after the depth-floor prerequisite, and measured Rust-first optimization only where profiling shows a material buyer path. + +No source-neutral retrigger, sample reduction, tolerance relaxation, skipped/xfail acceptance, self-approval, force update, destructive rebase, foreign-owner source copy, or predecessor-success transfer is accepted as completion evidence. + +## Review-gateway causal update — 2026-09-10 + +The current #1519 review cycle separates leaf quality from foreign review admission more precisely. On exact head `84000d861ddc9b8cc72a39e7c78f8016051e0e6c`, ordinary CI, Required CodeQL PR, repository CodeQL, Security Scan, and Semgrep are terminal GREEN, and all inline review threads are resolved or outdated. Two `CHANGES_REQUESTED` submissions tied only to predecessor-head Noema failures were dismissed as stale; no predecessor review was transferred as an approval. + +Current-head Required Noema run `34469361714`, job `102845420373`, failed outside the docs/source lane. Trusted workflow source `.github@cb0872c9a20d5584703dffacca65c096fc034c6c` vendored `contextual-orchestrator@414f22973658c4ddc3d4320fcf7acd9b4e8ba991`. Its preflight reached a ready state, but the single caller request to `orchestrator/free` failed after 182.4 seconds with HTTP 429 during `response_error`, with served model `google/gemma-4-31b-it:free`; no source finding or authenticated verdict envelope was produced. Current-head OpenCode also has no authenticated exact-head verdict, so its required job fails closed rather than supplying independent source evidence. + +This is now an explicit owner/consumer version gap. `contextual-orchestrator#1094` merged on 2026-09-09 with virtual `orchestrator/free` structured-output re-selection for retryable 429/502/timeout outcomes, and protected contextual-orchestrator main has advanced beyond that integration, but the central consumer still pins the earlier `414f2297…` commit. contextual-orchestrator currently has no immutable GitHub Release, so pinning mutable main or copying the newer routing implementation into `.github` or fast-mlsirm would violate the released-owner boundary. Exact evidence was handed to `contextual-orchestrator#1106` and `.github#1759`; acceptance remains owner RED→integrated GREEN→immutable owner release→central consumer bump→unchanged leaf-head review GREEN. + +This failure is not universal evidence that the #1791 source is defective or that the review service can never succeed. #1791 exact head `bfe9c22ac4355da45504211148bec914bc632909` has terminal-success `noema-review` job `102333782769` and `opencode-review` job `102334444517`, in addition to its other hosted gates. It still lacks a qualifying formal current-head `APPROVED` review, so the successful checks are review-system evidence rather than merge authorization. + +## Marginal writer-lineage causal update — 2026-09-11 + +#1742 exposed two distinct central lifecycle defects without changing production arithmetic. The scientific-test gap is now repaired: the test still pins the exact finite binary64 counterexample, but it no longer treats source spelling as acceptance. It executes the real estimator M-step and demonstrates a returned-state bit change under the rejected reassociation. + +The valid tree was then erased twice by the same obsolete cancellation intent after Ready admission. Each transient zero-diff snapshot was auto-closed before any verified successor inherited the regression contract. The lane was recovered with forward-only commits and deliberately returned to Draft. Central `.github#2082` now owns lineage-aware close admission and stale-writer containment; fast-mlsirm must not copy scheduler/closer logic into the numerical engine. + +Current Required CodeQL run `34507631968` supplies an independent exact-head control-plane canary: both compatibility receivers failed enforcement only after successfully waiting for a current-head dispatch verdict, and the coordinator dispatched afterward. This evidence was handed to `.github#2051`. Leaf repository CodeQL, Security and Semgrep are GREEN on the same head, so another leaf no-op, threshold change, or numerical workaround is not causal repair. diff --git a/docs/product-technical-gap-live-refresh-2026-09-11.md b/docs/product-technical-gap-live-refresh-2026-09-11.md new file mode 100644 index 000000000..9c25e31cf --- /dev/null +++ b/docs/product-technical-gap-live-refresh-2026-09-11.md @@ -0,0 +1,41 @@ +# Product and technical gap live refresh — 2026-09-11 + +Status: **Non-authoritative live supplement** +Protected-product authority: `main@493326f2de49ea1704da0ded19868ed05d2fe00f` +Central workflow authority: `ContextualWisdomLab/.github@cb0872c9a20d5584703dffacca65c096fc034c6c` +Canonical historical baseline: `docs/product-technical-gap-baseline.md` +Latest immutable product release: `v0.9.1` (published 2026-08-26) + +This supplement supersedes only the live execution statements that changed after the 2026-09-10 refresh. Historical supplements remain evidence and are not rewritten. No Draft, predecessor check, foreign-owner PR head, or byte-identical predecessor tree is promoted to shipped status. + +## Marginal binary64 contract: third stale-cancellation replay + +`fast-mlsirm#1742` remains the canonical numerical-contract lane. The reviewed behavioral tree at `785e98c9282a51f77559e83133f5d8da16ad5942` contained exactly two protected-main deltas: `tests/test_marginal_distance_reduction_contract.py` and `tests/test_marginal_reduction_reproducibility.py` (+158/-0). Those tests preserve the exact finite one-ULP counterexample, exercise the real `fit_marginal_numpy` M-step, and show that the rejected row-wise reassociation changes returned zeta binary64 bits without modifying production estimator arithmetic. + +A third obsolete cancellation then appended `80caf161dafa236b5e79beab0ce2fac11917a4da` with message `⚡ Bolt: 취소된 최적화 빈 커밋`. Despite the message, this was not tree-empty relative to its parent: its tree became `7485a3fef3f84ad3915bc75504b089fd930ee81f`, exactly the protected-main tree, so both still-valid unmerged regression files disappeared and the PR again became instantaneously zero-diff. No verified successor had inherited the scientific delta. + +The lane was repaired without force update, destructive rebase, or predecessor-status transfer. Ordinary forward commits `e76868fe3ad42f404c3912445f72b7b2ac2fd42c` and `a6e09c61b2dc2a02e68a51a5b67d35d80f8a3e3b` restored the two files byte-for-byte. Fresh comparison `785e98c9282a51f77559e83133f5d8da16ad5942...a6e09c61b2dc2a02e68a51a5b67d35d80f8a3e3b` has no changed files, while protected main to current head is again exactly two files (+158/-0). #1742 stays Draft. New current-head checks are reacquired from scratch; predecessor GREEN is diagnostic evidence only. + +The causal lifecycle owner remains `ContextualWisdomLab/.github#2082`. Automatic cleanup must inspect parent-to-head mutation and validated lineage/successor authority, not trust a commit message or terminal `base...head` zero-diff alone. A previously validated unmerged delta that disappears without a verified successor must fail closed to Draft/needs-repair. The contrasting #1805 case remains legitimately closable because its optimization was affirmatively rejected and no unique valid delta remained. + +## Review gateway: successful admission followed by runtime 502 + +The product-gap lane `fast-mlsirm#1519@3bafc62cf98c9c6dacc1afff0d299626f888330a` reached GREEN ordinary CI, repository CodeQL, Required CodeQL PR, Security Scan, Semgrep, bootstrap and coverage checks, but Required Noema and OpenCode failed outside the documentation source lane. The Required Noema job used trusted `.github@cb0872c9a20d5584703dffacca65c096fc034c6c`, which still vendored `contextual-orchestrator@414f22973658c4ddc3d4320fcf7acd9b4e8ba991` and injected raw provider credentials into the central consumer. + +Preflight produced 24 candidates with `ready_count=3`, `deferred_count=4`, and `rejected_count=9`, and gateway preflight itself succeeded. The caller then made exactly one `orchestrator/free` request; after about 610.1 seconds it failed with HTTP 502 in `response_error`, served model `google/gemma-4-31b-it`. No caller retry multiplication and no publishable Noema source verdict occurred. + +This is owner-path RED, not a reason to add leaf retries or provider-specific fallback. Evidence was handed to `contextual-orchestrator#1106`, exact Draft prerequisite `#1124@e3482266658ed871476c98cc720ebeabc66ae3da`, and central consumer migration `ContextualWisdomLab/.github#1759`. The acceptance sequence remains executable CO admission/runtime-routing contract → protected integration → immutable CO release → exact `.github` gateway-bearer-only consumer bump using `orchestrator/free` → unchanged leaf replay → removal of legacy raw-provider-secret/probing bootstrap. + +## Person-fit traceability landing state + +`fast-mlsirm#1791` advanced by ordinary forward repair to exact head `7f557bdf6e9cd72b1cd83d280c8d306de89508de`. The effective delta remains bounded to the primary-source traceability matrix and a provenance-only `personfit_np.py` docstring correction; numerical formulas, cutoffs, runtime behavior and public API values are unchanged. Current-head repository CI, Security Scan, repository CodeQL and Semgrep are terminal GREEN, and `cwl-noema-review` has submitted a formal current-head **APPROVED** review with no blocking product finding. + +Landing is still blocked by two central controls rather than a leaf scientific defect. Required CodeQL PR `34553497054` is terminal failure in the organization-owned dispatch/enforcement lifecycle. OpenCode reusable run `34554751062` separately reports changed-line coverage `15/25 = 60%` because multiline docstring/reference lines 139–148 are counted as uncovered executable lines. Canonical owner issue `ContextualWisdomLab/.github#2097` records that exact canary and requires executable-statement semantics while retaining the 90% changed-line threshold and fail-closed handling for genuinely uncovered changed statements. The leaf must not add artificial runtime tests, coverage pragmas, source rewrites, no-op commits or synthetic statuses to satisfy either central defect. + +## JSON depth-floor security lane + +`fast-mlsirm#1738` remains the canonical owner for the six bounded JSON preflight depth-floor guards and the two focused regression surfaces. After repeated source-neutral commits had been contained in Draft, exact head `4e1f8ade9a5ae90cf3e9eb4ccd8feb8a89023080` remained unchanged for about 21 hours 46 minutes. With all known inline review threads resolved and the repaired tree unchanged, the lane was re-admitted to Ready for one fresh exact-head verification cycle. This is review admission only: predecessor checks do not transfer, and any new head movement before terminal evidence returns the lane to Draft containment rather than authorizing another source-neutral retry commit. + +## Landing authority + +#1791 now satisfies the independent current-head approval requirement but remains non-mergeable while its central Required CodeQL and OpenCode coverage-classifier gates are RED. #1738 is Ready only because the previously documented writer-quiescence condition is now met; its newly admitted CI/fuzz/security/review generation must terminate on the unchanged exact head before any merge decision. #1519 itself has no merge authority while its current-head review path is non-terminal or RED. Self-approval, routine administrator bypass, synthetic status, source-neutral retrigger, mutable foreign-owner pin, force update, destructive rebase, sample/tolerance weakening, and predecessor-success transfer remain inadmissible. diff --git a/docs/product-technical-gap-live-refresh-2026-09-12.md b/docs/product-technical-gap-live-refresh-2026-09-12.md new file mode 100644 index 000000000..e75d33e9e --- /dev/null +++ b/docs/product-technical-gap-live-refresh-2026-09-12.md @@ -0,0 +1,51 @@ +# Product and technical gap live refresh — 2026-09-12 + +Status: **Non-authoritative live supplement** +Protected-product authority: `main@493326f2de49ea1704da0ded19868ed05d2fe00f` +Central workflow authority: `ContextualWisdomLab/.github@691fb78932eff5fbe52db69077848134b0b4e053` +Canonical historical baseline: `docs/product-technical-gap-baseline.md` +Latest immutable product release: `v0.9.1` (published 2026-08-26) + +This supplement records only live movement after the 2026-09-11 refresh. It does not promote Draft work, mutable PR heads, predecessor checks, or foreign-owner proposals to shipped status. The historical baseline remains unchanged. + +## GPU compute admission is now a capacity mismatch, not an acquisition failure + +`fast-mlsirm#1717@0b31640928e07f4362ce27dad3d310e630ab1b5d` is open, mergeable and Draft. The controlled Ubuntu runner can acquire image-local SwiftShader and expose a Vulkan adapter, but the adapter reports `max_storage_buffers_per_shader_stage = 10` while the current marginal GPU topology requires at least 18 storage buffers per shader stage. Exact-head CI therefore fails closed in `gpu-smoke` at the capability invariant rather than silently accepting CPU fallback. + +The environment-specific capacity probe has been moved out of the ordinary Rust test suite and into `crates/mlsirm-core/examples/gpu_adapter_capacity.rs`; only the dedicated GPU lane executes it. The remaining product gap is causal: either provide a reproducible adapter meeting the existing resource contract or redesign the marginal GPU resource topology and re-establish CPU-f64 parity, realistic performance and recovery evidence. Lowering the capacity contract, accepting skipped GPU evidence, or reporting CPU fallback as GPU execution remains inadmissible. + +## Correctly-rounded binary64 mean remains the canonical reusable numerical proposal + +`fast-mlsirm#1816@432765ccf633c9802e0f796ceeb4d6d572059acf` is open, mergeable and Draft. The branch owns the domain-neutral `fast_mlsirm.binary64_mean@1.0.0` contract: finite binary64 inputs are accumulated exactly as signed integer multiples of `2^-1074`, divided by the original cardinality, and rounded once with round-to-nearest, ties-to-even. The fixed 34×`u64` magnitude keeps the proved capacity bound for supported `usize::BITS <= 64` without imposing an arbitrary scientific sample ceiling. + +The current suite includes the TEPP half-ULP counterexample, ordinary mixed-sign cancellation, MAX/subnormal residue, exact-zero versus signed underflow-zero, subnormal/normal transitions, ties-to-even and binade carry, same-sign `f64::MAX`, permutation invariance, non-finite rejection, and a deterministic 10,000-case independent subnormal integer/rational oracle. TEPP remains a consumer only after protected integration and immutable release; it must not copy source or depend on this mutable head. + +Landing is still gated by owner-path evidence rather than a known numerical defect: repository GPU capability remains owned by #1717; Required CodeQL still has a central lifecycle failure; authoritative exact-head Rust line/branch evidence remains a central coverage requirement; and review/security infrastructure failures must be replayed rather than treated as clean results. + +## DIMTEST release-build ownership repair is leaf-complete but centrally blocked + +`fast-mlsirm#1815@7c2c2968f62496fa313e27682ae3ae46d2493b23` remains open, mergeable and Draft. The repair keeps `DimtestGroupDiag.{jk, mean, v, u, mu4, delta4, s2}` only in test builds while preserving the independent Nandakumar–Stout oracle and leaving production DIMTEST arithmetic and the public `DimtestResult` unchanged. + +On the unchanged exact head, ordinary CI, package, Rust/PyO3, fuzz, explicit non-skipped GPU parity, repository CodeQL, Security Scan, Semgrep and ClusterFuzzLite are terminal GREEN, and Noema submitted a current-head `APPROVED` review with no blocking product finding. Normal merge remains prohibited because Required CodeQL PR is RED in the central producer-after-consumer lifecycle. Draft containment avoids source-neutral re-admission churn while that owner-path defect remains unchanged; no leaf status synthesis, no-op retrigger or copied central workflow is justified. + +## ADR reservation governance now has exact-head leaf acceptance evidence + +`fast-mlsirm#1819@50be41e202269931e091c7e8e0c036998ef64a6e` implements the repository-visible ADR allocation rule that coordinates protected numbers with still-valid live reservations. The current patch documents earliest-valid collision ownership, next-free allocation for later colliders in PR creation order, ordinary-forward renumbering, and the protected-tree uniqueness invariant; it also records the standards basis while correctly labelling GitHub reservation ordering as repository-local policy rather than an ISO/IEC/IEEE mandate. + +Current-head Security Scan, repository CodeQL, Semgrep and ordinary CI are terminal GREEN. Noema submitted an exact-head `APPROVED` review with no blocking finding. Required CodeQL PR remains the sole known landing failure on this head and reproduces the central producer-after-consumer lifecycle defect. Coordination issue #1817 therefore remains open until this governance contract reaches protected main. `#1603@acf1891469f2eba456107584f692d4dd6280c1ed` owns the governed-rater decision now reserved as ADR-0030, and `#1694@9ba4e018c1ba359fc72e515fef2eb466e17c48b3` owns the Rust registry/distribution decision now reserved as ADR-0031; both remain Draft after ordinary-forward identity repair rather than being closed or rewritten. + +## Central Required CodeQL prerequisite remains unresolved after replay-guard repair + +`ContextualWisdomLab/.github#2051@558693e0333e48012beea142f739bc634b0674a7` and its child `#2056@69ae472562c93cc17674af5e2085a58947d3fab8` remain Draft/open. Against protected `.github/main@fb17ef556f94f673234aa557254ae52779e9a7b0`, #2051 is 18 ahead / 45 behind and #2056 is 24 ahead / 45 behind; both retain historical merge base `7fd571dbcdbae6acf29d8f4ee704d7ba6297e4db`. Fresh source comparison verifies that #2040 preserves #2056's complete-failed-job-set invariant in evolved form: every supplied exact job must be a terminal failure and no terminal failed job may exist outside that supplied set before one run-wide rerun. The predecessors stay open until ordinary successor integration and hosted equivalence make retirement safe; source carryover is not stale approval or shipped evidence. + +The canonical combined candidate advanced again by an ordinary two-parent merge to `ContextualWisdomLab/.github#2040@85522306949bada2b5939608dc911f6374125f1b`, tree `fe8ca79a4fd410e68eb790258820a511fa6cdc70`. Its parents are predecessor `798a5d4f2ceaf6ccc263c87b3f1d9f5e9f97bcbd` and protected `.github/main@fb17ef556f94f673234aa557254ae52779e9a7b0`; the force=false update preserves the full CodeQL/SARIF proposal plus main's merged #2095 JavaScript materializer documentation/test contract and #2092 queue-history contract. The overlapping Runtime Quality workflow retains both main's materializer selector/step and #2040's source-neutral scheduler-test selector. GitHub reports 150 ahead / 0 behind, merge base exactly current protected main, 29 effective paths, mergeable, and zero unresolved threads. + +Current-head OpenCode run `34684439092`, coverage job `103528902332`, supplied a new owner RED before coverage measurement: the protected `pr_head_replay_guard` saw intentional retirement of obsolete same-tree restamp tests in `tests/test_pr_review_merge_scheduler.py` but no added replacement test module. The repair moved the two positive no-mutation contracts into `tests/test_pr_review_merge_scheduler_source_neutral_commit_contract.py`. A transient Git-data upload commit `be25a767aa2e0d5cb79d6988853011bae16d4be3` truncated the large existing test blob; compare caught it immediately, no evidence was promoted from that head, and the ordinary child `6476b919...` restored the complete blob. Relative to the prior valid head, the final delta is exactly 46 lines moved from the existing test module and 60 lines added in the replacement module, with no production or workflow path changed. + +Runtime Quality run `34686471090` on predecessor `798a5d4f...` supplied a fresh integration RED: the workflow selected `tests/test_javascript_materializer_docstrings.py`, but that canonical #2095 fixture was absent from the stale head and pytest exited with code 4. The latest-main reconciliation restores the owner fixture rather than rerunning or manufacturing freshness. Exact tree `fe8ca79a...` passed the hosted-equivalent focused suite (`72 passed`), the full repository suite (`3133 passed / 1 skipped / 36 subtests`), all `scripts/ci/*.py` statement/branch coverage at 100% (`13,155` statements / `5,322` branches), public-doc coverage 100%, compileall, and diff checks. Fresh current-head runs are Runtime Quality `34686930839`, Python Security `34686930820`, Trusted uv Materializer `34686930788`, CodeQL PR `34686930801`, Security Scan `34686930789`, and Semgrep `34686930806`; all are queued and are not promoted as GREEN. #2040 remains Draft/Proposed with no qualifying independent review for the current head. The earlier per-language protected-handler wake race remains an unresolved rollout dependency, not permission for a leaf repository to weaken Required CodeQL, synthesize compatibility statuses, create no-op commits, or copy central workflow logic. + +## Landing authority + +Protected `main` and the immutable release remain unchanged, so none of the lanes above is shipped. #1717 and #1816 stay Draft because their causal capability/evidence gaps are material. #1815 and #1819 have strong leaf acceptance evidence but are intentionally contained as Draft while their causal central Required CodeQL dependency remains RED. #1519 remains the single product-gap writer and preserves `docs/product-technical-gap-baseline.md` byte-for-byte; this dated supplement is additive evidence only. + +No self-approval, force update, destructive rebase, routine administrator bypass, gate weakening, source-neutral retrigger, predecessor-success transfer, mutable foreign-owner dependency, skipped scientific evidence, or CPU result presented as GPU evidence is accepted as completion. \ No newline at end of file