diff --git a/docs/0-0-0-readiness/CLASSIFICATION.md b/docs/0-0-0-readiness/CLASSIFICATION.md index e24c7d1eb..a1e7a4691 100644 --- a/docs/0-0-0-readiness/CLASSIFICATION.md +++ b/docs/0-0-0-readiness/CLASSIFICATION.md @@ -124,7 +124,7 @@ Per `docs/active-trajectory.md` strict bucket taxonomy: classification requires |---|---|---|---| | `memory/project_laptop_only_source_integration_scratch_sqlsharp_features_or_designs_high_priority_2026_04_27.md` | +8/-27 | **SAFE_TO_RESET_LFG_SUPERSEDES** | LFG has `cabaabe sync: AceHack→LFG bulk content forward-port + CI cadence split + Windows trajectory seed (#651)` (forward-port + cadence-split) and `6a2f08e substrate: laptop-only source integration (#642)` (LFG-side reapplication). AceHack-only `+8` lines drop the **closed-list-scope qualifier** from the `../scratch` / `../SQLSharp` zero-matches completion criterion. AceHack version: `git grep -- '../scratch' returns zero matches`. LFG version: `git grep -- '../scratch' returns zero matches *outside the closed-list history surfaces* (memory/**, docs/BACKLOG.md, docs/backlog/**, docs/research/**, ...)`. Without the qualifier, the criterion is **technically unsatisfiable** because grep would always hit references on the closed-list surfaces themselves (this very file is one of those surfaces). LFG version is more accurate AND rule-compliant; AceHack version is a simplification regression. | -**Batch 3a result: 1 of 1 files SAFE_TO_RESET_LFG_SUPERSEDES.** (Post-merge of this PR — atomic with merge per decision-vs-resolution discipline. Ledger update from headline `classified_safe_lines = 227 → 235` and `unclassified_lines = 46 → 38` lands in a small follow-up PR after this PR merges; this PR holds the classification record only, not the ledger headline edit.) +**Batch 3a result (in-force as of #840 merge, 2026-04-29T12:54:53Z): 1 of 1 files SAFE_TO_RESET_LFG_SUPERSEDES.** Ledger headline flipped `classified_safe_lines = 227 → 235` and `unclassified_lines = 46 → 38` in the follow-up ledger-flip PR (per the two-PR split that avoids contingent-prose churn). **Remaining unclassified after Batch 3a (38 lines / 1 file)**: `.github/workflows/budget-snapshot-cadence.yml` — has real behavioral divergence (auto-merge policy + Scorecard `TokenPermissionsID` security fix) requiring explicit Level-1 buddy review per the Second-Agent Design Review Gate (Amara 2026-04-29 packet 10) before classification. diff --git a/docs/active-trajectory.md b/docs/active-trajectory.md index 16df9c548..ea22b9ea6 100644 --- a/docs/active-trajectory.md +++ b/docs/active-trajectory.md @@ -140,16 +140,16 @@ Current ledger (last updated 2026-04-29T12:31Z, post-option-(c)-migration-PR — ```text potential_loss_lines = 273 all AceHack-only +lines (would be erased on hard-reset) -classified_safe_lines = 227 semantic evidence in BUCKET 2 (SAFE_TO_RESET_LFG_SUPERSEDES) +classified_safe_lines = 235 semantic evidence in BUCKET 2 (SAFE_TO_RESET_LFG_SUPERSEDES) unsafe_lines = 0 no NEEDS_FORWARD_SYNC or NEEDS_HUMAN_DECISION -unclassified_lines = 46 HEURISTIC_LFG_DOMINATES — pending per-file semantic inspection +unclassified_lines = 38 HEURISTIC_LFG_DOMINATES — pending per-file semantic inspection ``` **Ledger state**: in-force as of post-#839-merge (option-(c) migration landed 2026-04-29T12:46:29Z). The 9 ACEHACK_ONLY tick rows are durably preserved as Option B shards under `docs/hygiene-history/ticks/2026/04/28/` on LFG main. Hard-reset of `loop-tick-history.md` is content-preservation-safe. `potential_loss_lines = 273` was computed 2026-04-29T10:25Z via `git diff --numstat refs/remotes/origin/main..refs/remotes/acehack/main` and remains canonical: the AceHack and LFG main tips have not advanced relative to each other in a way that touched the divergent files (#837 + #838 + the option-(c) migration only touch docs in `docs/0-0-0-readiness/` and add new shard files in `docs/hygiene-history/ticks/2026/04/28/` — neither set affects the existing AceHack-vs-LFG diff for the divergent file set). Re-compute on next batch open if either tip moves materially. -Arithmetic sanity check: `273 = 227 + 0 + 46` ✓ (per the multi-AI review discipline — verify mechanically, do not trust the math because it "looks plausible"). +Arithmetic sanity check: `273 = 235 + 0 + 38` ✓ (per the multi-AI review discipline — verify mechanically, do not trust the math because it "looks plausible"). ### Option-(c) Migration Preflight Ledger (loop-tick-history.md, 2026-04-29T12:31Z) @@ -170,13 +170,14 @@ Per the Migration Preflight Ledger discipline (per multi-AI review 2026-04-29 pa Net: 9 shard writes; 1 no-op (COMMON_IDENTICAL with positional drift). The misclassification of `2026-04-21T17:28` as SAME_TIMESTAMP_DRIFT (caught during the trajectory's earlier prose-only classification on #838) was corrected here by the preflight ledger's content-hash check — exactly the bug-class the discipline is designed to prevent. **A timestamp is an address, not an identity.** -Composition of `classified_safe_lines = 227` (in-force post-#839-merge): +Composition of `classified_safe_lines = 235` (in-force post-#840-merge): - 9 infra files (97 lines): see "9 infra files" table above. SAFE_TO_RESET_LFG_SUPERSEDES with named per-file evidence. - 5 calibration-batch files (28 lines, 2026-04-28): MEMORY.md (11) + codeql_umbrella (12) + doc_class_mirror_beacon (1) + CURRENT-aaron (2) + CURRENT-amara (2). Originally labeled "ALREADY-COVERED" in older taxonomy; under strict bucket each has named evidence in `docs/0-0-0-readiness/CLASSIFICATION.md` → SAFE_TO_RESET_LFG_SUPERSEDES. - Batch 1 (9 lines, 2026-04-29T11:32Z): SECURITY.md (4) + validate-agencysignature-pr-body.sh (5). See `docs/0-0-0-readiness/CLASSIFICATION.md` Batch 1 table for named evidence per file. - Batch 2 (81 lines, 2026-04-29T12:05Z): codeql-config.yml (6) + memory-index-duplicate-lint.yml (8) + audit-memory-index-duplicates.sh (8) + Shard.fs (9) + AUTONOMOUS-LOOP.md (9) + macos.sh (11) + fix-markdown-md032-md026.py (16) + curl-fetch.sh (14). See `docs/0-0-0-readiness/CLASSIFICATION.md` Batch 2 table for named evidence per file. Common pattern: LFG version is either rule-compliant (role-refs vs persona-name violations on current-state surfaces), more accurate (correct retry-math on curl-fetch.sh), the perf-fixed form (Shard.fs non-boxing comparer), the current doctrine (AUTONOMOUS-LOOP.md Option B shard-mode), or strict superset (fix-markdown-md032-md026.py YAML frontmatter handling). -- Option-(c) migration (12 lines, this PR): `loop-tick-history.md` reclassifies from NEEDS_HUMAN_DECISION → SAFE_TO_RESET_LFG_SUPERSEDES because the 9 ACEHACK_ONLY rows are durably preserved as Option B shards under `docs/hygiene-history/ticks/2026/04/28/`. Hard-reset of the table on AceHack is then content-preservation-safe. +- Option-(c) migration (12 lines, #839 merged 2026-04-29T12:46:29Z): `loop-tick-history.md` reclassified from NEEDS_HUMAN_DECISION → SAFE_TO_RESET_LFG_SUPERSEDES because the 9 ACEHACK_ONLY rows are durably preserved as Option B shards under `docs/hygiene-history/ticks/2026/04/28/`. Hard-reset of the table on AceHack is content-preservation-safe. +- Batch 3a (8 lines, #840 merged 2026-04-29T12:54:53Z): `memory/project_laptop_only_*.md`. AceHack drops the closed-list-scope qualifier from the `../scratch` / `../SQLSharp` zero-matches completion criterion (technically unsatisfiable without the qualifier); LFG version is rule-compliant. See `docs/0-0-0-readiness/CLASSIFICATION.md` Batch 3a table. Composition of `unsafe_lines = 0` (in-force post-#839-merge): @@ -186,13 +187,14 @@ Composition of `unsafe_lines = 0` (in-force post-#839-merge): `loop-tick-history.md` was previously NEEDS_HUMAN_DECISION (12 lines, mutual divergence — 9 truly-unique-AceHack timestamps + 9 truly-unique-LFG timestamps + 1 COMMON_IDENTICAL_REORDERED row per the Migration Preflight Ledger above). Maintainer chose option (c); the option-(c) migration PR (#839, merged 2026-04-29T12:46:29Z) wrote 9 ACEHACK_ONLY rows as Option B shards on LFG, making hard-reset content-preservation-safe. File now classifies SAFE_TO_RESET_LFG_SUPERSEDES. -Composition of `unclassified_lines = 46` (2 files): +Composition of `unclassified_lines = 38` (1 file): ```text 38 .github/workflows/budget-snapshot-cadence.yml - 8 memory/project_laptop_only_source_integration_scratch_sqlsharp_features_or_designs_high_priority_2026_04_27.md ``` +This is the last unclassified file. It has real behavioral divergence (auto-merge policy + Scorecard `TokenPermissionsID` security fix) requiring explicit Level-1 buddy review per the Second-Agent Design Review Gate (Amara 2026-04-29 packet 10) before classification. After Batch 3b classifies it, `unclassified_lines = 0` and the strict gate's classification condition is satisfied. + ### Hard-reset signoff gate (strict) Hard-reset is signoff-eligible ONLY when: