Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/0-0-0-readiness/CLASSIFICATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Copy link

Copilot AI Apr 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"...flipped ... in the follow-up ledger-flip PR" will be unclear once merged (it won’t be obvious which PR is being referenced). Prefer referencing the specific PR number/link, or rephrase to "flipped in this PR" so the statement stays unambiguous over time.

Suggested change
**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).
**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 this PR (per the two-PR split that avoids contingent-prose churn).

Copilot uses AI. Check for mistakes.

**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.
Copy link

Copilot AI Apr 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This uses a specific persona name ("Amara") on a current-state doc surface. docs/AGENT-BEST-PRACTICES.md:284-336 documents that names should be confined to the closed-list history surfaces (and docs/active-trajectory.md is explicitly one of them), but docs/0-0-0-readiness/CLASSIFICATION.md is not. Please convert this to a role-ref (or move the attribution to an appropriate history surface) to stay consistent with the repo’s naming policy.

Suggested change
**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.
**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 (the Level-1 buddy review packet dated 2026-04-29, packet 10) before classification.

Copilot uses AI. Check for mistakes.

Expand Down
16 changes: 9 additions & 7 deletions docs/active-trajectory.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Copy link

Copilot AI Apr 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sentence still says the ledger is "in-force as of post-#839-merge", but this PR updates the ledger values based on #840 being merged. Please update the in-force reference (and any surrounding phrasing) to align with the post-#840 state reflected by the ledger.

Suggested change
**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.
**Ledger state**: in-force as of post-#840-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.

Copilot uses AI. Check for mistakes.

`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)

Expand All @@ -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):

Expand All @@ -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.
Copy link

Copilot AI Apr 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR description says no contingent prose is introduced, but this new sentence includes a contingent/plan-based statement ("After Batch 3b..."). Consider rewriting it as a non-contingent definition of the gate condition (e.g., phrasing in terms of what is true when unclassified_lines reaches 0) rather than tying it to a future batch.

Copilot uses AI. Check for mistakes.

### Hard-reset signoff gate (strict)

Hard-reset is signoff-eligible ONLY when:
Expand Down
Loading