Skip to content

Fill the RFC-007 Phase 3 ledger row from git provenance (fixes #618)#622

Merged
lantiscooperdev merged 1 commit into
mainfrom
fix/issue-618-rfc-007-p3-ledger-row
Jul 26, 2026
Merged

Fill the RFC-007 Phase 3 ledger row from git provenance (fixes #618)#622
lantiscooperdev merged 1 commit into
mainfrom
fix/issue-618-rfc-007-p3-ledger-row

Conversation

@lantisprime

Copy link
Copy Markdown
Owner

Closes #618.

PR #617 shipped RFC-007 Phase 3 without an Implementation ledger row. That was deliberate and stated in the PR body: the row's SHA must be the merge commit, which does not exist until the PR lands. Writing a branch-tip SHA there is the defect #582 was filed for and #605 had to repair.

Provenance

Derived from git against the files the row claims to have changed, not from an adjacent row and not from a workplan note:

$ git log --follow --oneline -1 scripts/em-graph.mjs
dafc3c8 RFC-007 Phase 3: wiki-link + composes-with edges ... (#617)

$ git log --follow --oneline -1 tests/test-em-graph-links.mjs
dafc3c8 RFC-007 Phase 3: wiki-link + composes-with edges ... (#617)

Both files resolve to dafc3c8, which is #617's merge commit (gh pr view 617mergeCommit.oid = dafc3c89da4fb740ffd957074b434df1162219cd).

Also verified

  • CI anchor tests.yml:407-408 checked against the merged file, not assumed from the pre-merge branch.
  • node tests/test-em-graph-links.mjs on merged main31 passed, 0 failed.

One line, docs only.

🤖 Generated with Claude Code

PR #617 shipped without an Implementation ledger row, deliberately: the row's
SHA must be the merge commit, which did not exist until it landed.

Provenance derived from git against the files the row claims, not from an
adjacent row and not from a branch tip:

  git log --follow --oneline scripts/em-graph.mjs   -> dafc3c8
  git log --follow --oneline tests/test-em-graph-links.mjs -> dafc3c8

That is the #582 / #605 class this defers to avoid.

CI anchor cited as tests.yml:407-408, verified against the merged file.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

@lantiscooperdev lantiscooperdev left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Ledger provenance — one-line docs change, ACCEPT

Closes the deferred obligation from #617. Single table row, no code.

Why this was deferred rather than shipped in #617

The row's SHA must be the merge commit, which does not exist until the PR lands. Writing the feature-branch tip there is the defect #582 was filed for and #605 had to repair. #617's body stated the deferral explicitly and #618 tracked it with all 5 DEFER fields, so this is a closed loop, not a rediscovery.

Provenance, derived not copied

$ git log --follow --oneline -1 scripts/em-graph.mjs
dafc3c8 RFC-007 Phase 3: wiki-link + composes-with edges ... (#617)

$ git log --follow --oneline -1 tests/test-em-graph-links.mjs
dafc3c8 RFC-007 Phase 3: wiki-link + composes-with edges ... (#617)

Both files the row claims resolve to dafc3c8, confirmed against gh pr view 617 --json mergeCommitdafc3c89da4fb740ffd957074b434df1162219cd. Not taken from the adjacent Phase 2 row, not from a workplan note.

Verified before writing the row

  • CI anchor tests.yml:407-408 read from the merged file, not assumed from the pre-merge branch.
  • node tests/test-em-graph-links.mjs on merged main31 passed, 0 failed.

Post-merge deploy of #617 — all three legs, done and verified at dafc3c8

Leg Verification Observed
1. Global deploy-audit.mjs unfiltered + deployed-copy grep MISSING=0 DIFFER=0 EXTRA=0 UNDEPLOYED=0 (one cosmetic timestamp); install stamped dafc3c89da4f; deployed em-graph.mjs greps 13 for Phase 3 symbols
2. Consumers disk-scan shasum sweep, not the installer report 25 of 26 at source 017b1bdd; the 26th is episodic-memory-pi's own source file, the standing deliberate collision
3. Marketplace git log -1 + grep clone 4a6fd3adafc3c8, Phase 3 symbols present

Leg 1 needed a second pass: the first --install-hooks-force left second-opinion-providers.json stale (DIFFER=1) and only --install-second-opinion cleared it. The audit named the fix itself.

Leg 2 is the one worth flagging: --update-consumers reported files: [] for every consumer, which is exactly the report that concealed three stale v0.2.0 copies on 2026-07-25 (#601). The hash sweep is what proves the fleet current, not the installer's self-report.

Live smoke test of the deployed global copy

$ node ~/.episodic-memory/scripts/em-graph.mjs --nodes rule --edges wiki-link --hubs --top 3
verify-by-artifact-not-narrative-and-run-negative-scenarios   degree 18
surface-tool-errors-offer-to-look-together-before-routing-around  degree 9
use-claude-subagent-not-codex-for-second-opinion-reviews      degree 9

Phase 3 is live against the real rule corpus, not just green in a fixture.

Follow-ups still open from the #617 arc

  • #619em-console.mjs:114 whitelist omits --nodes/--edges.
  • #620 — unclosed code fence does not suppress extraction (affects shipped cites too).
  • #621 — recency ordering is minute-granular, so a fork-closure stub and its terminal are unorderable. Found while consolidating a two-session fork; already bit the documented handoff-recall command once.

What user approval is checking

Per Rule 17, your approval in the UI is the review-required gate. This is a one-line docs change with derived provenance and CI 8/8 green. Nothing architectural.

🤖 Posted by lantiscooperdev (bot account) — Claude Opus 5 (1M context).

@lantiscooperdev
lantiscooperdev merged commit 65d60cc into main Jul 26, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

RFC-007 Phase 3: fill the Implementation ledger row post-merge from git log --follow

2 participants