The following pre-existing gaps were observed while consolidating repair pressure. They are recorded here because this integration preserves behavior and does not change thresholds, events, payloads, or terminal reasons.
The integration originally preserved a gap where the no-progress streak drove
no_progress_feedback and model_stagnation:no_progress_recorded without
activating write_required. T26b2 closes it: the feedback limit now promotes
directly, while carried or short-budget read-only pressure combines with
no-progress turns to reach the same write-required threshold earlier. Compile
repair non-edit turns use the existing target selection, write enforcement,
carryover, and exhaustion paths. The gate #2 #5 shape is fixed in corpus and
loop-level regression tests.
plan_run_nextjs_game_setup_only_fails_inferred_obligation can enter the real
Node dependency-setup path. Under a network-restricted test environment,
npm install can wait for the existing 600-second setup timeout. The test
passes when dependency setup can complete. This integration does not change
the setup decision or timeout.
UAT test0712_bs_001 run 3 produced an ensure-port-scripts step classified
as implement. Its package-script objective was already satisfied, but the
Task 24 preset conversion and short-circuit gates both required setup, so the
run exhausted through model_stagnation:no_progress_recorded four times.
This bounded exception replaces the kind/name gate only for steps that
explicitly reference template-owned artifacts through expected_paths, the
planner-authored instruction, the step id, or deterministic verify commands.
Package scripts/ports and known scaffold configuration files qualify;
ambiguous text such as "configure the project" does not. A route-bound game
implementation and npm run build alone remain outside the predicate. The
generic profile contract appended by the runner is also excluded so it cannot
reclassify ordinary implementation steps.
The exception permits kind-independent preset verification conversion, profile-check prechecks, and the existing verification-bearing no-progress feedback for this artifact class. It does not change the repair-pressure transition table, escalation thresholds, event names or payloads, or terminal reason strings. Converted verification paths are evidence dependencies rather than mutating ownership claims, so they do not conflict with an implementation step that owns the same path; duplicate ownership between mutating steps still fails lint. A failing port check still enters the executor repair path.
The following values moved without byte changes to embedded TOML files:
src/planner/profiles/nextjs/knowledge.toml: preset UltraPlan phase ids and prompts; deterministic scaffold, port, build, and implementation matcher tokens; setup and template-owned artifact tokens; state-binding and contract attribute guidance; canonical package scripts, required hooks, scaffold paths, and scaffold file bodies.src/minimal_loop/evidence_knowledge.toml: visible-surface, input-handler, state-update, adversary, motion, score, failure, restart, and persistence vocabulary; goal stopwords and Japanese-to-English translations; behavioral evidence keys and ordered Next.js repair target candidates.
Both files are embedded with include_str!, parsed once through OnceLock,
and have no runtime fallback. Migration golden tests fixed the old Rust values
before the final reference switch; retained tests cover the embedded body,
ordering, translation lookup, contract wording, and canonical JSON structure.
No functional issue was discovered during this extraction. The initial
sandboxed full test run could not bind local browser-probe ports; the same test
command passed when run with local-port permission, without a code change.
Gate後タスクT26、最優先。catch_unwind でpanicを終端イベントとrecovery
noteへ変換する境界を追加し、fault-injectionテストを完了条件に含む。
T26b2でrepair_pressure.rsの遷移表を変更し、no-progress上限または
持ち越し・短予算による前倒し圧力との合算でwrite_requiredへ昇圧するよう
閉鎖した。gate #2の#5(コンパイル修復のno_progress枯渇)をcorpusと
loop-level回帰テストに固定した。バッチ検証では同クラスの件数を継続計測する。
test0712_bs_001 #6の観測。ゲート2回+直近4計測セットで再発なし。
n=1・未再現につきwatch解除。再発時は当該runのrepair.mdで裁定する。
T27 status: REOPENED -> CLOSED (root-caused, fixed by T27)。
test0712_gab_001 #10でinteraction失敗単独時に診断済みのroute-bound sourceが
修復ターゲットへ接続されず、required_pathの先頭package.jsonへ落ちる同属事象を
再確認した。確定state_binding_diagnosisのpathを最優先ターゲットへ接続し、
interaction failureのevidence mappingとcontract hook guidanceも接続して閉鎖した。
WITHDRAWN (attempted 2026-07-13, reverted on parity gate failure, see ledger
T29)。過適応監査項目: プローブ入力のゲーム前提、具体的には
interaction_probe の ArrowLeft/ArrowRight/Space dispatch 直書き。
契約駆動dispatch化を試行したが、パリティゲートが2回とも5/6一致で止まり、
Space/qwen35 と Breakout/qwen35 が偽陰性化した。現行のゲーム入力判定は
dispatch直後のlistener/rAFタイミングと結合しているため、再訪時は
listener登録待ち・rAF同期・リトライ付きdispatchを含むタイミングモデル再設計を
前提にする。
依存セットアップのネットワーク停滞は低優先度のままOPENとする。既存の 600秒setup timeoutとネットワーク制限下の待機挙動はこの棚卸しでは変更しない。
DATA-5。dataゴールの特徴抽出で英語ストップワードが60個超のノイズとして 生成される事象を記録する。B-2bではdata manifestの知識注入・検証正準化・ dependency拒否フィードバックを優先し、この特徴抽出ロジックは変更しない。
B-4 audited the core-resident Next.js knowledge recorded by the frozen
template-owned-step exception, the declarative-knowledge extraction, the
profile-manifest format-gap ledger, and the production "nextjs" literal
guardrail. The audit distinguishes movable profile policy from execution-order
code that still belongs at a shared chokepoint.
| Area | B-4 disposition | Reason |
|---|---|---|
NextjsProfile implementation, aliases, manifest admission lookup |
Moved from planner/profile.rs and profile_admission.rs to planner/profiles/nextjs/domain.rs. |
The adapter, identity aliases, dependency policy, capability inference, and evidence requirements are used only by Next.js. Core now retains only DomainProfile dispatch. |
| Profile-invariant repair excerpt path discovery | Moved from planner/final_acceptance.rs to planner/profiles/nextjs/repair_excerpts.rs. |
Tailwind/scaffold excerpt selection is Next.js repair policy; final acceptance only formats the returned paths. |
Browser probe lifecycle (minimal_loop/browser_probe.rs) |
Retained in core: 2 audited literals. | Spawn/timeout/build-readiness sequencing and evidence writes are shared minimal-loop lifecycle boundaries. Moving only the profile branch would split one lifecycle and risk event-order changes. |
Route-bound evidence and import closure (minimal_loop/evidence.rs, import_scan.rs) |
Retained in core: 4 + 1 audited literals. | Route closure feeds the shared evidence graph and source-role classifier. Its Next.js default is coupled to cross-profile evidence collection; relocation requires an explicit evidence-provider interface, not a file move. |
Dependency reconciliation (minimal_loop/loop_run.rs, planner/verify.rs) |
Retained in core: 2 + 3 audited literals. | The branches select Next.js dependency setup inside shared verify execution and authority tracking. Their ordering is part of the minimal-loop/setup state machine. |
Plan lint and runner lifecycle (planner/lint.rs, runner.rs) |
Retained in core: 2 + 14 audited literals. | The lint terms participate in common plan-quality ordering; runner occurrences label browser/dev-server lifecycle telemetry at the runner tripwire. Moving them without a profile lifecycle interface would move orchestration rather than policy. |
The literal guardrail decreased from 34 production occurrences across 11 core files to 28 across 7 files. No baseline was raised: removed entries disappear from the exact expected map. The remaining list above is the Phase B relocation list; it is intentionally non-zero and each retained group requires a new shared interface before movement.
Add scenario-bound semantic assertions such as non_negative(amount) without
weakening or bypassing the current E4 schema gate. The measured motivation is
present in both data families: aggregation UAT #7 produced a full run whose
April value included the -500 amount, and the timeseries UAT #8 / #9 reports
also recorded negative-value adoption. This is a purchase of additional
meaning verification; it does not retroactively change the mechanical meaning
of existing full results.
The timeseries family produced percent-bearing reports but reached no
claims-binding.json evidence in 12 runs. Keep percent normalization and
matching on WATCH until the first timeseries completion exercises E2. Do not
infer a pass or failure from report text alone.
The residual inspection write non-follow-through class recurred six times across UAT #7, #8, and #9 (2 + 2 + 2), including gemma31 as well as qwen35. Literal JSON examples, missing-key feedback, phase scoping, and verified short-circuiting have exhausted the machine-side countermeasures; the remaining distribution is recorded as model-originated. Keep the local-tier failures in the band denominator and use the emitted recovery YAML for cloud follow-up.
uat-test0717-fix-004のfix4_hook_qwen35_002では、FIX-4bの対象である
hook predicate文脈はsrc/app/page.tsx / contract_attributeへ正しく解決
された。その後、独立したmissing-relative-import profile invariantのbounded
repairへ移った際に、診断済みsourceよりgeneric required_pathが優先され、
package.jsonが筆頭targetになった。宣言分母22 run中1 runで非支配的だが、
bandから除外せずFIX-5として分離する。
これはT27のinteraction診断source喪失、FIX-4bのpredicate診断source喪失と
同属である「具体的な修復sourceを汎用required pathへ落とす」系の文書化4例目。
profile-invariant repair文脈でも診断・invariant由来fileをgeneric
required_pathより先に解決することを完了条件とし、D-2着手前に消化する。
fix契約、F1〜F3、既存bandの裁定値を変更するタスクではない。
6decdceでfix配下の修復target解決を
diagnosis_mapped → contract_attribute → evidence_mapped → required_pathへ
統一した。missing-export invariantはimport scan既存のdefinition_pathを
diagnosis_mappedとして再利用し、実測fixtureではsrc/app/game-engine.tsが
package.jsonより先に解決される。create byte fixture 6/6と既存event schemaは
不変である。
| QUEUED | D-2c生成経路のchokepoint化 or fix計画合成の適用拡大(fix×nextjsが同病を発症した時の処方箋) |
D-3c (PM router plus boundary dialogue shell) is transferred behind Phase C
completion. An elevated single-intent investigate measurement outside the
workflow circle is queued as a separate arm and does not alter the circle
Queued: add epoch fields to workflow_started and workflow_adjudicated from the next circle measurement. Update the event baseline and verify that new sheets derive circle-wide duration from the tracked audit body.
denominator.
The following are queued from the dfix-006 live measurement; this section is only a requirements record and does not change the v0 harness:
--report-rootseparation: default to repositoryworkspace/management/runs/so audit assets become Git-tracked automatically.- Bench-native exceptional rerun support for
interrupted(environment), with both the interrupted and one-time new-directory records saved automatically. - Long-run handling: two consecutive session-lifetime × gemma long-run interruptions were observed; add an execution-order option or an explicit human terminal procedure.
- Skeleton improvements confirmed by dfix-006: show scrub status in the run matrix, transfer self-output allowance counts/prefixes, and list resume interruption text and final state.
Benchフェーズ(e)へacceptance_sheet生成を統合し、シート自給率を手動生成0%から改善する。既存のevidence・判定・分類の裁定は変更しない。
- fix(段階2):合成計画snapshot+conformance 9本でbyte互換を証明してから移行。
- create(段階3):manifest preset snapshot+byte互換6/6を証明してから移行。
final_acceptance_budget_exhaustion_uses_last_cycle_reasonは共有Atomicの
予測可能ポートを空き確認後に解放していたため、未guardの同系テストと
TOCTOU窓を共有していた。E-5eで当該テスト専用のephemeral port leaseを
導入し、production dev-serverへの所有権移行直前まで予約する形へ決定化した。
80msキャンセル猶予テストのタイミングflake 1回 (E-3b full初回・単独1/1 pass+full再走green)は、E-5eで子processの ready同期点と仮想猶予clockへ置換した。壁時計assertは除去したが、 TERMを無視する子へ猶予全量を与えてからuser abortとして受理する検証意図は 維持した。両テストは各20回連続greenで解消確認済み。
Restore the 12 pre-migration Next.js measurement sets as auditable inputs by
analyzing their archive format and adapting it to the current profile-aware
scanner. Until that separate task is complete, keep the tracked Next.js band
frozen and treat regeneration from the current repository as unsupported; see
analysis.md.
Ingest admission covers only deterministic transformation of already acquired HTML/text snapshots. The following five business expansions are QUEUED and must not be presented as part of the current full assurance:
- Stage-2 fetch probe: network acquisition, source identity, acquisition timestamp, freshness policy, and bounded retry evidence.
- Excel workbook input:
.xlsxsheet/range declarations, cell-origin lineage, formula/value distinction, and deterministic candidate accounting. - JSON/JSONL input: record-root declarations, nested-field paths, array candidate identity, and source-position evidence.
- PDF/attachment input: page/object lineage, OCR status, positioned fragments, and an explicit reduced-assurance path when text extraction is uncertain.
- Multi-source reconciliation: duplicate/entity keys, merge precedence, conflict evidence, and incremental add/update/delete accounting.
Each item requires its own contract review, comparator or adapter estimate, real-input calibration, and separate capability-band denominator.
E-5d Option A has exposed the phase seam without changing control semantics.
The 16 states, complete transition inventory, terminal invariants, and
five-batch migration gates are recorded in
e5f-phase-state-machine.md. E-5f remains
QUEUED: implementation is decided only after review of the Option A
terrain. This entry authorizes no event-order, interruption-boundary, evidence,
or terminal-byte change.
This section is the current index for work explicitly carried across the Phase E boundary. Earlier sections remain immutable provenance; their status is read through this index when duplicated here.
| item | current state | next decision / evidence |
|---|---|---|
| Third-party one-cell profile addition | MEASURED (G/BP1, 2026-08-20) | An independent Issue worker added the external draft landing-page cell with one v1 manifest, existing scaffold_files_present, no catalog addition, and no overlay. The 13-file campaign took agent wall-clock time only, made zero provider calls, and cost USD 0.00; the scaffold itself produced four legacy admission files in 0.19 seconds but not an E-18-loadable manifest. See 20260820-bp1-one-cell/report.md. |
| Fourth declarative intent | QUEUED | Add and measure one intent beyond create/fix/investigate with the E-2 byte/snapshot/conformance discipline. |
| D-3c PM router + boundary dialogue shell | COMPLETE; shakedown full | Eight commits delivered the typed router, persisted Gate 1 confirmation, unattended Gate 2, full Gate 3 sheet, and Gate 4 choices. d3c-shakedown-001 reached N1-N5 full with confirmation hash 564ec8f. |
| D-3c interaction follow-ups | IN PROGRESS; CLI and REPL pack selection complete | The recorded Phase E disposition remains PACK SUPPLY CONTRACT v0.1 FIXED; IMPLEMENTATION QUEUED. Pack selection retains the fixed PackSource values `admitted |
| D-3d v0.1 post-full directives | CLOSED (D-3d v1.1, 2026-08-01) | Gate 3 modification now requires a persisted directive confirmation and an exact-byte regression freeze of the immediately preceding full profile/check set before dispatch; normal acceptance reruns afterward. |
| Scripted directive T2F benchmark | QUEUED; F-stage measurement | Add suite-authored directives only after the human Gate 4 path is measured. Preserve directive_round as a band configuration axis and measure the first round at which testimony repair succeeds. |
| P-3 user-loop proof | READY; human participant awaited | docs/user/first-loop.md provides the reproducible loop. Measure a third party from route proposal and persisted confirmation through Gate 3/4 review and one pack A/B adjustment; the scripted shakedown is not the human KPI result. |
| Next.js T1 Quiz + README family | QUEUED; F-stage measurement cell | P-1b live Quiz runs started T1 3/3 but produced no testimony source (claims_absent 3/3). Measure a Quiz family whose delivery contract includes README testimony so matched/violation distribution, not document absence, calibrates v0.1. |
| CLI × C3 model-tier lever | COMPLETE; F-1 first check material | Gemma formal/pack/directive assistance produced C3 pass 0, while Luna produced pass 6 / violation 1 across eight windows and the first CLI full. Keep the all-window table in F-2a-8 as the first validation input for F-1 scoring and T2F design. |
| F-2 Luna CLI comparison | SETTLED; n=48 | Luna 001–002 are machine BLOCKED, 003–005 text bridge, and 006–008 Responses/native. The native windows reached C checks 10/18 with C3 pass 6 / violation 1 / claims_absent 3 and full 2/18; Luna total cost is USD 1.200131. filter_luna_001 earned the first CLI full on 2026-08-02, and 007/008 each reproduced full 1/6 plus C3 pass 2. |
| F-0b OpenAI Responses native tools | COMPLETE (2026-08-02) | Explicit api=responses uses native function tools through provider_call, replays reasoning output items within the run, and records response/usage/reasoning metadata. The Luna 006 window observed 112/112 native-enabled turns and 115 function calls with no endpoint rejection; chat_completions remains the default and no model sniffing was added. |
| E-5f phase state machine | QUEUED; design complete | Review the 16-state/five-batch design in e5f-phase-state-machine.md on the post-E-5d terrain before authorizing control-flow changes. |
| Ingest business expansion | 5 items QUEUED | Stage-2 fetch probe, Excel, JSON/JSONL, PDF/attachment, and multi-source reconciliation remain separate contracts and denominators; the detailed five-item scope is in “E-4 stage-1 post-close business queue” above. |
| Comparator leaf panic conversion | 8 sites QUEUED | Convert the locally proved capture/container accesses listed in e5e-debt-audit.md to typed violations when touched. Static regex/manifests remain in the permitted repository-owned panic layer. |
The older T26 catch_unwind proposal remains a separate runtime-containment
queue: E-5e removed the only audited upper adjudication unwrap and defined
producer-side panic policy, but did not claim a process-wide unwind migration.
Other historical low-priority/watch queues retain their local status and are
not Phase E exit claims.