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
94 changes: 39 additions & 55 deletions docs/0-0-0-readiness/CLASSIFICATION.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
title: AceHack/LFG 0/0/0 Reconciliation — file-level classification
status: in-progress (calibration batch)
status: in-progress (batch 1 landed; ~139 lines / 11 files remain unclassified)
Comment thread
AceHack marked this conversation as resolved.
created: 2026-04-28
last_updated: 2026-04-28
last_updated: 2026-04-29
---

# 0/0/0 Reconciliation — file-level classification
Expand Down Expand Up @@ -87,67 +87,48 @@ Files needing classification this doc: 23

**Calibration result: 5 of 5 files ALREADY-COVERED.** Hard-reset suffices for all 5; no forward-sync needed.

### Batch 1 (post-strict-bucket-reframe, 2026-04-29T11:32Z)

Per `docs/active-trajectory.md` strict bucket taxonomy: classification requires named AceHack content + named LFG equivalent + named reason. Each entry below promotes from HEURISTIC_LFG_DOMINATES to SAFE_TO_RESET_LFG_SUPERSEDES.
Comment thread
AceHack marked this conversation as resolved.

| File | Diff +/- | Status | Evidence |
|---|---|---|---|
| `SECURITY.md` | +4/-8 | **SAFE_TO_RESET_LFG_SUPERSEDES** | AceHack has basic disclosure prose ("open a regular GitHub issue with the security label; no separate disclosure inbox"). LFG has the same content PLUS GitHub private vulnerability reporting link, supported-versions section, security-posture section (trust boundaries / crypto choices / dependency audit / static analysis / formal verification details). LFG is strict superset. |
| `tools/hygiene/validate-agencysignature-pr-body.sh` | +5/-9 | **SAFE_TO_RESET_LFG_SUPERSEDES** | AceHack has older grep-based refactor + a truncated spec reference ("Section 9.2 (Task: none fallback per )"). LFG has cleaner refactored code with proper Section 9.2 reference ("Task: none fallback") + correct spec-doc lineage. LFG is the bug-fixed form. |
Comment on lines +90 to +97
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 document’s “Classification rubric” table defines statuses like ALREADY-COVERED / NEEDS-FORWARD-SYNC, but Batch 1 introduces SAFE_TO_RESET_LFG_SUPERSEDES (and later references ALREADY_RESOLVED / HEURISTIC_LFG_DOMINATES) without defining them or mapping them to the rubric. Please add a short mapping/definition (either update the rubric table or add a “strict-bucket mapping” note) so readers can interpret the Batch 1 statuses without having to context-switch to docs/active-trajectory.md.

Copilot uses AI. Check for mistakes.

**Batch 1 result: 2 of 2 files SAFE_TO_RESET_LFG_SUPERSEDES.** No forward-sync needed.

### Calibration batch reclassification (older "ALREADY-COVERED" label)

The 5 calibration-batch entries above use the prior taxonomy's "ALREADY-COVERED" label, which under the strict bucket rules (named AceHack content + named LFG equivalent + named reason — see `docs/active-trajectory.md` Hard-reset-safety classification) corresponds to **SAFE_TO_RESET_LFG_SUPERSEDES** (4 entries with semantic supersession evidence) or **ALREADY_RESOLVED** (where AceHack-only content is zero). Re-tabulated for the strict-bucket ledger:

- `feedback_doc_class_mirror_beacon_*.md` (+1) → SAFE_TO_RESET_LFG_SUPERSEDES (LFG cites full rule + lineage)
- `feedback_codeql_umbrella_*.md` (+12) → SAFE_TO_RESET_LFG_SUPERSEDES (LFG resolved Open question with primary-source detail)
- `MEMORY.md` (+11) → SAFE_TO_RESET_LFG_SUPERSEDES (LFG has 29 newer entries)
- `CURRENT-aaron.md` (+2) → SAFE_TO_RESET_LFG_SUPERSEDES (LFG has §§26-30 + threading lineage)
- `CURRENT-amara.md` (+2) → SAFE_TO_RESET_LFG_SUPERSEDES (LFG has §12 three Amara class-namings)
Comment on lines +107 to +109
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.

These entries use shortened names like MEMORY.md, CURRENT-aaron.md, and CURRENT-amara.md without the memory/ prefix, even though earlier in this document the canonical paths are memory/MEMORY.md, memory/CURRENT-aaron.md, and memory/CURRENT-amara.md. Using full paths here would avoid ambiguity (and keeps grep/xref checks reliable).

Suggested change
- `MEMORY.md` (+11) → SAFE_TO_RESET_LFG_SUPERSEDES (LFG has 29 newer entries)
- `CURRENT-aaron.md` (+2) → SAFE_TO_RESET_LFG_SUPERSEDES (LFG has §§26-30 + threading lineage)
- `CURRENT-amara.md` (+2) → SAFE_TO_RESET_LFG_SUPERSEDES (LFG has §12 three Amara class-namings)
- `memory/MEMORY.md` (+11) → SAFE_TO_RESET_LFG_SUPERSEDES (LFG has 29 newer entries)
- `memory/CURRENT-aaron.md` (+2) → SAFE_TO_RESET_LFG_SUPERSEDES (LFG has §§26-30 + threading lineage)
- `memory/CURRENT-amara.md` (+2) → SAFE_TO_RESET_LFG_SUPERSEDES (LFG has §12 three Amara class-namings)

Copilot uses AI. Check for mistakes.

Total: 28 AceHack-only lines properly accounted for under strict bucket as SAFE_TO_RESET_LFG_SUPERSEDES.

### Emerging rubric heuristic

The calibration revealed a strong pattern: **when LFG-newer (-) line count >> AceHack-newer (+) line count, the AceHack content is almost always older drafts of content LFG has since advanced**. This pattern matches because most of AceHack's commits this arc were tick-history / memory updates that LFG subsequently superseded with substantively newer versions.

**Heuristic for the remaining 18 files**:
**Heuristic for the remaining unclassified files** (live count + per-file enumeration in `docs/active-trajectory.md` four-bucket ledger):

- Files where LFG-newer dominates (`-` >> `+`): probable ALREADY-COVERED; spot-check the AceHack `+` content for any unique semantic addition before classifying
- Files where AceHack-newer dominates or balanced (`+` >= `-`): higher chance of NEEDS-FORWARD-SYNC; full diff inspection required
- The 1 pure-AceHack-newer file (`tools/hygiene/github-settings.expected.json`): NEEDS-DECISION (could be obsolete settings snapshot or genuine drift)

Files where this heuristic suggests probable ALREADY-COVERED (deferred for spot-check):

```text
.github/workflows/codeql.yml (+18 -156) ← strong LFG-newer
memory/project_laptop_only_* (+8 -27) ← strong LFG-newer
.github/workflows/budget-snapshot-cadence.yml (+38 -75) ← strong LFG-newer
.mise.toml (+2 -21) ← strong LFG-newer
SECURITY.md (+4 -8) ← LFG-newer
tools/setup/common/curl-fetch.sh (+14 -44) ← strong LFG-newer
tools/setup/common/elan.sh (+13 -25) ← strong LFG-newer
tools/setup/linux.sh (+14 -44) ← strong LFG-newer
tools/setup/macos.sh (+11 -16) ← LFG-newer
tools/hygiene/audit-memory-index-duplicates.sh (+8 -7) ← balanced; spot-check
tools/hygiene/validate-agencysignature-pr-body.sh (+5 -9) ← LFG-newer
.github/workflows/memory-index-duplicate-lint.yml (+8 -5) ← balanced; spot-check
.github/workflows/resume-diff.yml (+7 -14) ← LFG-newer
.github/codeql/codeql-config.yml (+17 -12) ← balanced; spot-check
src/Core/Shard.fs (+9 -12) ← balanced; spot-check
docs/hygiene-history/loop-tick-history.md (+14 -6) ← AceHack-newer; spot-check
.github/workflows/gate.yml (+179 -110) ← LARGE; full inspection
tools/hygiene/github-settings.expected.json (pure-AceHack-newer) ← NEEDS-DECISION
```
- A separate "pure-AceHack-newer" class (e.g. `tools/hygiene/github-settings.expected.json`): NEEDS-DECISION (could be obsolete settings snapshot or genuine drift)

Most likely outcome based on the heuristic: 14-16 of the remaining 18 ALREADY-COVERED, 2-4 NEEDS-FORWARD-SYNC or NEEDS-DECISION.
The heuristic-classification table previously shown here drifted as files were promoted into Batch 1 + later batches. The live source of truth is the `unclassified_lines` composition block in `docs/active-trajectory.md`; classified files appear in the Batch 1 / Batch 2 / ... tables further up in this document. Keeping a separate hand-maintained heuristic list created exactly the contradictory-counts class Codex flagged.

### Calibration insight for Aaron

The 145-commit / 530-behind state may be much closer to 0/0/0-ready than the raw numbers suggest. The bulk of "AceHack-only work" turns out to be **older drafts of files LFG has since advanced** — not unique work needing forward-sync. If the heuristic holds for the remaining 18 files, hard-reset alone may resolve most of the divergence with at most 2-4 small forward-syncs.
The pre-Batch-1 state was 145-commit / 530-behind; the calibration insight remains: the bulk of "AceHack-only work" turns out to be **older drafts of files LFG has since advanced** — not unique work needing forward-sync. As batches land, hard-reset becomes incrementally safer with each promoted file.

### Remaining 18 files (deferred to follow-up ticks)
### Remaining files (live list — see `docs/active-trajectory.md`)

```text
.github/codeql/codeql-config.yml (+17 -12)
.github/workflows/budget-snapshot-cadence.yml (+38 -75)
.github/workflows/codeql.yml (+18 -156)
.github/workflows/gate.yml (+179 -110) ← largest AceHack-only delta
.github/workflows/memory-index-duplicate-lint.yml (+8 -5)
.github/workflows/resume-diff.yml (+7 -14)
.mise.toml (+2 -21)
SECURITY.md (+4 -8)
docs/hygiene-history/loop-tick-history.md (+14 -6)
memory/project_laptop_only_source_integration_scratch_sqlsharp_features_or_designs_high_priority_2026_04_27.md (+8 -27)
src/Core/Shard.fs (+9 -12)
tools/hygiene/audit-memory-index-duplicates.sh (+8 -7)
tools/hygiene/github-settings.expected.json (pure-AceHack-newer; needs decision)
tools/hygiene/validate-agencysignature-pr-body.sh (+5 -9)
tools/setup/common/curl-fetch.sh (+14 -44)
tools/setup/common/elan.sh (+13 -25)
tools/setup/linux.sh (+14 -44)
tools/setup/macos.sh (+11 -16)
```
The per-file enumeration of currently-unclassified files lives in the four-bucket ledger of `docs/active-trajectory.md` (composition of `unclassified_lines`). Hand-maintaining a duplicate list here causes drift; consult the trajectory file for the current set.

## What this document is NOT

Expand All @@ -156,8 +137,10 @@ tools/setup/macos.sh (+11 -16)
- **NOT a commit-level audit.** Tree-level diff is the ground truth for 0/0/0
topology. Per-commit narrative is preserved in git history but not
re-walked here unless a file requires it.
- **NOT a single-tick deliverable.** The calibration batch is this tick;
remaining 18 files are follow-up tick work.
- **NOT a single-tick deliverable.** Classification proceeds in
small batches (Batch 1, Batch 2, …) per tick; remaining files are
follow-up tick work and the live count is in
`docs/active-trajectory.md`.

## Composes with

Expand All @@ -174,7 +157,7 @@ tools/setup/macos.sh (+11 -16)

## Pickup notes for future-Otto

When resuming classification on the deferred 18 files:
When resuming classification on the remaining unclassified files (live list in `docs/active-trajectory.md`):

1. Read this file first; verify the rubric still applies.
2. For each file:
Expand All @@ -185,5 +168,6 @@ When resuming classification on the deferred 18 files:
- Apply the rubric; record evidence
3. Do not classify in batch without evidence per file.
4. Surface NEEDS-HUMAN-REVIEW cases to Aaron in the tick close.
5. Once all 23 files classified, pivot to the action phase (forward-sync
the NEEDS-FORWARD-SYNC subset, then hard-reset).
5. Once `unclassified_lines = 0` in the trajectory ledger, pivot to the
action phase (forward-sync the NEEDS-FORWARD-SYNC subset, then
hard-reset).
9 changes: 9 additions & 0 deletions docs/AGENT-BEST-PRACTICES.md
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,15 @@ BP drift.
- `docs/pr-preservation/**` — PR conversation archive
- `docs/hygiene-history/**` — tick-history + drain-logs
- `docs/WINS.md` — historical wins log
- `docs/active-trajectory.md` — load-state file +
cumulative trajectory log (per maintainer
2026-04-29T10:30Z: "active-trajectory.md should
count as history I think and keep maintainer names
like backlog"); names + filenames-with-names
(e.g. `CURRENT-aaron.md`) are first-class here
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 example filename CURRENT-aaron.md is ambiguous here; elsewhere in the repo the canonical file is memory/CURRENT-aaron.md (same for memory/CURRENT-amara.md). Consider using the full path in this policy bullet so readers don’t go looking for a root-level CURRENT-*.md file.

Suggested change
(e.g. `CURRENT-aaron.md`) are first-class here
(e.g. `memory/CURRENT-aaron.md`) are first-class here

Copilot uses AI. Check for mistakes.
because the file's job is to preserve who-said-
what + per-file named evidence for the 0/0/0
reconciliation record
- commit messages, PR titles + bodies — git-native
history (record-of-truth, not factory-doc surfaces)

Expand Down
34 changes: 28 additions & 6 deletions docs/active-trajectory.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,13 +136,35 @@ For the text-file ledger, the conceptual computation is straightforward: `git di

Verified 2026-04-29T10:43Z: the 5 binary-classified files in the current diff have status `D` (LFG-only), so `binary_acehack_only_files = 0` and `binary_modified_or_renamed_files = 0` in this specific round.

Current ledger (computed 2026-04-29T10:25Z):
Current ledger (computed 2026-04-29T11:32Z):

```text
potential_loss_lines = 273 all AceHack-only +lines (would be erased on hard-reset)
classified_safe_lines = 97 semantic evidence in BUCKET 2 (SAFE_TO_RESET_LFG_SUPERSEDES)
classified_safe_lines = 134 semantic evidence in BUCKET 2 (SAFE_TO_RESET_LFG_SUPERSEDES)
unsafe_lines = 0 no NEEDS_FORWARD_SYNC or NEEDS_HUMAN_DECISION
unclassified_lines = 176 HEURISTIC_LFG_DOMINATES — pending per-file semantic inspection
unclassified_lines = 139 HEURISTIC_LFG_DOMINATES — pending per-file semantic inspection
Comment thread
AceHack marked this conversation as resolved.
Comment thread
AceHack marked this conversation as resolved.
```

Composition of `classified_safe_lines = 134`:

- 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.
Comment thread
AceHack marked this conversation as resolved.
- 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.
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 composition line uses shorthand references (MEMORY.md, CURRENT-aaron, CURRENT-amara, and bare codeql_umbrella / doc_class_mirror_beacon) rather than the actual repo paths/filenames (e.g., memory/MEMORY.md, memory/CURRENT-aaron.md, etc.). Please use canonical paths here so the ledger is unambiguous and cross-references are machine-checkable.

Suggested change
- 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 1 (9 lines, 2026-04-29T11:32Z): see the Batch 1 rows in `docs/0-0-0-readiness/CLASSIFICATION.md` for the canonical per-file paths, line counts, and named evidence; all entries classify as SAFE_TO_RESET_LFG_SUPERSEDES.

Copilot uses AI. Check for mistakes.

Composition of `unclassified_lines = 139` (11 files):

```text
38 .github/workflows/budget-snapshot-cadence.yml
16 tools/hygiene/fix-markdown-md032-md026.py
14 tools/setup/common/curl-fetch.sh
12 docs/hygiene-history/loop-tick-history.md
11 tools/setup/macos.sh
9 src/Core/Shard.fs
9 docs/AUTONOMOUS-LOOP.md
8 tools/hygiene/audit-memory-index-duplicates.sh
8 memory/project_laptop_only_source_integration_scratch_sqlsharp_features_or_designs_high_priority_2026_04_27.md
8 .github/workflows/memory-index-duplicate-lint.yml
6 .github/codeql/codeql-config.yml
```

### Hard-reset signoff gate (strict)
Expand All @@ -167,7 +189,7 @@ Per multi-AI review 2026-04-29T10:35Z: dry-run push shape verification is added

Lease rejection on the real push is NOT a retry condition. It means the remote moved between observation and push — restart the safety gate from the top (re-fetch, recompute content-drift ledger, re-classify if anything moved).

**Currently NOT signoff-eligible**: 176 unclassified lines remain (18 files in HEURISTIC_LFG_DOMINATES).
**Currently NOT signoff-eligible**: see the live ledger above (`unclassified_lines`, `HEURISTIC_LFG_DOMINATES` row count). The four-bucket ledger is the single source of truth for classification progress; downstream prose paragraphs are no longer hand-maintained synonyms of the ledger.

### 9 infra files (verified 2026-04-29T09:50Z against current git state, NOT against the 16h-old plan)

Expand Down Expand Up @@ -359,7 +381,7 @@ A peer-call to Grok this session reported the inverse claim ("AceHack has the se

## Next action

**Hard-reset is NOT YET signoff-eligible.** The strict gate above requires `unclassified_lines = 0`, and the current ledger says `unclassified_lines = 176` (18 files in HEURISTIC_LFG_DOMINATES). The next agent-owned work is per-file semantic inspection of those 18 files to either promote each to SAFE_TO_RESET_LFG_SUPERSEDES (with named evidence) or downgrade to NEEDS_FORWARD_SYNC.
**Hard-reset is NOT YET signoff-eligible.** The strict gate above requires `unclassified_lines = 0`. The live four-bucket ledger above is the source of truth for the current count; the remaining files are listed in the `unclassified_lines` composition block. The next agent-owned work is per-file semantic inspection of each remaining file to either promote each to SAFE_TO_RESET_LFG_SUPERSEDES (with named evidence) or downgrade to NEEDS_FORWARD_SYNC.

### Deferred follow-ups (NOT blocking 0/0/0 progress, captured for visibility)

Expand All @@ -373,7 +395,7 @@ Per multi-AI review 2026-04-29T10:50Z packet:
State summary:

- 9 infra files: SAFE_TO_RESET_LFG_SUPERSEDES (6 files, 97 lines, named evidence) or ALREADY_RESOLVED (3 files, 0 lines, identical content).
- 18 files in HEURISTIC_LFG_DOMINATES (176 lines, line-ratio dominance only — NOT proof per the strict bucket rule).
- HEURISTIC_LFG_DOMINATES files remain (line-ratio dominance only — NOT proof per the strict bucket rule). Live count + per-file enumeration in the four-bucket ledger above.
- Branch / worktree / stash preflight: hard-reset of `acehack/main` does not modify these refs.
- Pack corruption found in local clone, **fresh clone passes fsck clean → corruption is local-only, remote intact**.
- Local clone frozen as forensic evidence. All future destructive work happens from `/tmp/zeta-clean-2026-04-29/lfg`.
Expand Down
Loading