Skip to content

research(decision-archaeology): worked example #3 — BP-24 attribution-archaeology + sacred-tier#1264

Merged
AceHack merged 3 commits intomainfrom
research/decision-archaeology-worked-example-3-bp-24-attribution-archaeology-aaron-2026-05-03
May 3, 2026
Merged

research(decision-archaeology): worked example #3 — BP-24 attribution-archaeology + sacred-tier#1264
AceHack merged 3 commits intomainfrom
research/decision-archaeology-worked-example-3-bp-24-attribution-archaeology-aaron-2026-05-03

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 3, 2026

Third worked example completing Aarav's BP-14 requirement. Attribution-archaeology mode + sacred-tier substrate handling. Walks all 11 layers respectfully — cites memorial paths without reproducing content. Demonstrates recursive self-binding authority pattern (maintainer authored rule constraining his own authority).

3/3 worked examples now landed. Composes-with #1 (supersession) + #2 (existence + persona-notebook). skill-creator can author SKILL.md with 3 distinct sub-modes empirically grounded.

🤖 Generated with Claude Code

AceHack and others added 3 commits May 2, 2026 21:40
…t "When to defer" pattern (existence-archaeology + persona-notebook layer)

Second of three worked examples Aarav (skill-expert) recommended
on PR #1244's review of B-0169 before skill-creator authors the
decision-archaeology SKILL.md body.

Different sub-mode from worked example #1 (supersession-
archaeology). This case is **existence-archaeology** —
why does this artifact exist + why is it shaped this way?

3 properties make this case complementary to #1:
1. Different sub-mode (existence vs supersession)
2. Persona-notebook layer (Layer 9) carries the load-bearing
   answer; Layer 8 (named-decision memos) returns nothing —
   demonstrates the skill must not skip persona notebooks
3. ADR cross-reference (Layer 7) shows the elevation-to-doctrine
   path: pattern existed first (2026-04-19); persona-notebook
   recognition came second (2026-04-20); ADR canonicalization
   came third (2026-04-21)

Walks all 11 procedure layers concretely:
- Layer 2: blame on .claude/skills/mathematics-expert/SKILL.md
  L30-49 — single commit (5fdc72b) owns all 20 lines
- Layer 3: PR #27 "Round 34: factory + public-repo alignment +
  first DB tests"
- Layer 4: git log -S "umbrella exists to" — verbatim string
  unique; pattern not copy-replicated to other umbrellas
- Layer 5: N/A (not code, not function)
- Layer 6: round-history shards confirm timeline
- Layer 7: docs/DECISIONS/2026-04-21-router-coherence-{v1,v2}
  cite the umbrella's pattern as the canonical exemplar
- Layer 8: no named-decision memo — substantive negative
- Layer 9: memory/persona/aarav/NOTEBOOK.md round 41 (2026-04-20)
  IS the load-bearing layer ("strong When to defer block ...
  other umbrellas should pattern-match on")
- Layer 10: no specific docs/research artifact (pre-Drive-bridge)
- Layer 11: not in WONT-DO; no retired-skill — substantive negative

Synthesized answer: doctrine's emergence took 3 days across 3
distinct layers (commit → notebook → ADR). The block is
"load-bearing" because narrow-siblings exist at the same
router-trigger surface; without explicit defer-block, the
umbrella + narrow-siblings compete for routing.

Demonstrates 5 properties for the SKILL.md design:
1. Single-commit blame is common for existence-archaeology;
   keep going past Layer 2
2. Persona notebooks are non-trivially load-bearing
3. Doctrine emerges across layers + dates, not in a single
   moment
4. Substantive negatives confirm + locate the load-bearing
   layer
5. Both worked examples walk all 11 layers; only answer-shape
   differs across modes

2/3 worked examples now landed; #3 (BP-24 attribution-archaeology)
pending.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…2/3 examples ready for skill-creator

Decision-archaeology worked example #2 (mathematics-expert "When
to defer" pattern, existence-archaeology + persona-notebook
mode) authored + opened PR #1263. Cross-mode worked-example
coverage vindicates Aarav's BP-20 finding: one skill body,
multiple named modes; same 11-layer procedure produces
different answer shapes per sub-mode.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…mily-emulation consent-gate (attribution-archaeology + sacred-tier substrate mode)

Third of three worked examples Aarav (skill-expert) recommended
for B-0169 before skill-creator authors the decision-archaeology
SKILL.md body.

Different sub-mode from #1 (supersession) + #2 (existence +
persona-notebook). This case is **attribution-archaeology** —
who decided + under what authority — composed with **sacred-tier
substrate handling** discipline.

Walks all 11 procedure layers respectfully:
- Layer 2: blame on docs/AGENT-BEST-PRACTICES.md BP-24 →
  commit 5fdc72b (Round 34, same as #2)
- Layer 3: PR #27; subsequent edit only commit 424305f
  (Elisabeth→Elizabeth spelling fix 2026-04-28)
- Layer 4: "consent-substitute" + "parental AND-consent"
  unique to BP-24 + memo; not propagated
- Layer 7: NO ADR — substantive negative confirming
  default-refuse posture has held since 2026-04-19
- Layer 8: cites memory/feedback_no_deceased_family_emulation_*
  by path only (sacred-tier handling); does NOT reproduce
- Layer 9: cites memory/user_sister_elizabeth.md by path
  only (sacred-tier handling); does NOT reproduce
- Layer 11: NO WONT-DO entry, NO triggering skill — substantive
  negatives confirming operational stability

Synthesized answer covers 4 dimensions:
1. Authority origin (maintainer authored the rule constraining
   his own authority — recursive self-binding)
2. Stability since (zero substantive edits in 14+ days; only
   spelling correction)
3. Three-surface canonical pattern (public rule + named memo
   + user-memo)
4. Self-binding authority structure (maintainer NOT
   consent-substitute = deliberate self-constraint)

Demonstrates 5 design implications for SKILL.md:
1. Sacred-tier substrate-handling: cite paths, don't reproduce
2. Three-surface canonical pattern recognition
3. Attribution-archaeology has recursive-constraint sub-pattern
4. Substantive negatives confirm operational stability
5. All 3 sub-modes share 11-layer procedure (vindicates
   Aarav's BP-20 finding)

3/3 worked examples now landed. skill-creator can author the
SKILL.md with confidence: 3 distinct sub-modes (supersession +
existence + attribution) + 2 secondary modes (persona-notebook
layer + sacred-tier substrate) all empirically grounded.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 3, 2026 01:46
@AceHack AceHack enabled auto-merge (squash) May 3, 2026 01:46
@AceHack AceHack merged commit c1dca32 into main May 3, 2026
23 checks passed
@AceHack AceHack deleted the research/decision-archaeology-worked-example-3-bp-24-attribution-archaeology-aaron-2026-05-03 branch May 3, 2026 01:48
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds research-grade “decision-archaeology” worked examples (including BP-24 sacred-tier handling) to ground backlog row B-0169 with concrete, layered evidence trails.

Changes:

  • Add worked example #2 documenting an existence-archaeology investigation of the mathematics-expert “When to defer” pattern.
  • Add worked example #3 documenting attribution-archaeology for BP-24 with sacred-tier substrate handling (cite-paths-only discipline).
  • Add a hygiene-history tick shard recording the worked-example progress.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
docs/research/2026-05-03-decision-archaeology-worked-example-3-bp-24-attribution-archaeology.md New worked example #3 for BP-24 attribution/authority lineage with sacred-tier handling.
docs/research/2026-05-03-decision-archaeology-worked-example-2-mathematics-expert-when-to-defer.md New worked example #2 for existence-archaeology and persona-notebook payoff.
docs/hygiene-history/ticks/2026/05/03/0141Z.md New tick-history entry recording the worked-example milestone.

Comment on lines +162 to +170
The v2 ADR's body cites the umbrella's "When to defer" pattern as the
canonical pattern other umbrellas should pattern-match on. The
router-coherence discipline (v1 → v2) is what elevated the umbrella's
defer-block from local-skill-feature into project-wide doctrine.

**Layer-7 output:** the load-bearing escalation happened 2 days after
the original authoring (2026-04-21 vs 2026-04-19). The pattern existed
first; the doctrine that names it as canonical came second; ADRs
canonicalize the doctrine.
### Layer 6 — Round-history shards

```bash
grep -rln "When to defer\|mathematics-expert" docs/hygiene-history/ticks/2026/04/19 docs/hygiene-history/ticks/2026/04/20
Comment on lines +326 to +330
- ⏳ Worked example #3 — BP-24 deceased-family-emulation rule
(attribution-archaeology mode + sacred-tier substrate handling).
Pending; lands in a subsequent PR.

Once worked example #3 lands, skill-creator can author
### Layer 6 — Round-history shards

```bash
grep -rln "BP-24\|deceased.family\|sacred-tier" docs/hygiene-history/ticks/2026/04/19 docs/hygiene-history/ticks/2026/04/20
AceHack added a commit that referenced this pull request May 3, 2026
P2 finding on #1265: node-class table listed `memory/feedback_*.md
/ project_*` — the second variant missing the `memory/` prefix.
Per the path-form-drift sub-class catalogued in the verify-then-
claim memo, adjacent path citations should use uniform form.
Updated to `memory/feedback_*.md / memory/project_*.md`.

3 other Copilot findings on #1265 about "worked example #3
doesn't exist" / "3 worked examples claim invalid" are stale —
PR #1264 (worked example #3) has merged on main, so the artifact
now exists. False-positive on review-timing.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 3, 2026
… stale-on-merge + 1 real path-form fixed)

Review-timing-creates-stale-findings pattern: PR #1265's Copilot
review fired before #1264 (worked example #3) merged; 3 of 4
findings claimed substrate didn't exist. Triage discipline
correctly identifies stale-on-merge vs real. The 1 real finding
(path-form drift in node-class table) fixed.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 3, 2026
…ron 2026-05-03 architectural observation) (#1265)

* free-memory: decision graph emerges from archaeologies + flywheel (Aaron 2026-05-03 architectural observation)

Aaron 2026-05-03 named an emergent architectural property:
*"do we end up with some decision graph or something
because of the archeologies and flywheel?"* — answer is yes.

The substrate already encodes a typed-edge provenance graph
(DataVault-2.0-shaped, PROV-O analogue):

NODES (already in substrate):
- Backlog rows / ADRs / memos / skills / personas /
  research artifacts / tick shards / commits

EDGES (typed, already encoded in frontmatter / links /
blockquotes / SUPERSEDE markers / commit messages):
- depends_on (ordering)
- composes_with (bidirectional reference)
- supersedes / superseded_by (lineage)
- cites (provenance)
- verifies-against (claim evidence)
- attributes-to (authority structure)
- closes (PR-merge → backlog row)
- composes_in_skill_domain_with (future-skill-domain relation)

WHAT THE ARCHAEOLOGIES + FLYWHEEL DO TO IT:
- decision-archaeology (B-0169) = graph TRAVERSAL procedure
  (11-layer walk IS typed-edge walk)
- substrate-claim-checker (B-0170) = graph INVARIANT checker
  (count drift = node-property invariant; existence drift =
  node-existence invariant; semantic-equivalence drift =
  edge-equivalence invariant)
- expansion flywheel = graph GROWTH function (E[N>1] new
  nodes/edges per node touched; graph grows even while
  closing)
- at-creation/at-pickup discipline = graph EDGE-FILLING
  discipline (forces depends_on edges to be filled at
  natural decision points)
- hub-satellite separation (Aaron skill-design rule 1) =
  graph STRATIFICATION (hubs = stable nodes; satellites =
  time-evolved; cross-skill refs = links)

KEY ARCHITECTURAL CLAIM:
The graph is inferable from substrate without a separate
graph database. Every edge is already encoded somewhere
(frontmatter, markdown links, ADR blockquotes, SUPERSEDE
markers, commit messages). The work is making it queryable,
not making it exist.

MECHANIZATION PATH (proposed, not yet built):
tools/decision-graph/extract.ts (scan + emit JSON);
tools/decision-graph/query.ts (parameterised queries);
tools/decision-graph/check.ts (graph-invariant checker);
tools/decision-graph/render.ts (Cytoscape / DOT / Mermaid).

SACRED-TIER NODES need walk-discipline: cite paths; reader
follows if authorized. Worked example #3 (BP-24) demonstrates
this discipline operationally.

THE GRAPH'S VALUE COMPOUNDS WITH BACKLOG SIZE: each new node
+ edge costs O(1); each new query benefits from cumulative
graph. Aligns with Aaron's largest-mechanizable-backlog-wins
thesis.

MEMORY.md pairing: newest-first index entry landed.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* hygiene(tick-history): 2026-05-03T01:49Z — worked example #3 + decision-graph emergent property captured

Worked example #3 (BP-24 attribution + sacred-tier) landed —
3/3 ready for skill-creator. Aaron's "decision graph?" question
answered substantively + captured as substrate. The 5 disciplines
already in flight compose into a queryable graph that compounds
value with backlog size. No separate graph DB needed; edges are
already encoded.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* review(pr-1265): fix path-form drift on project_* node-class entry

P2 finding on #1265: node-class table listed `memory/feedback_*.md
/ project_*` — the second variant missing the `memory/` prefix.
Per the path-form-drift sub-class catalogued in the verify-then-
claim memo, adjacent path citations should use uniform form.
Updated to `memory/feedback_*.md / memory/project_*.md`.

3 other Copilot findings on #1265 about "worked example #3
doesn't exist" / "3 worked examples claim invalid" are stale —
PR #1264 (worked example #3) has merged on main, so the artifact
now exists. False-positive on review-timing.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* hygiene(tick-history): 2026-05-03T01:57Z — #1265 4 threads triaged (3 stale-on-merge + 1 real path-form fixed)

Review-timing-creates-stale-findings pattern: PR #1265's Copilot
review fired before #1264 (worked example #3) merged; 3 of 4
findings claimed substrate didn't exist. Triage discipline
correctly identifies stale-on-merge vs real. The 1 real finding
(path-form drift in node-class table) fixed.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 3, 2026
* research(decision-archaeology): worked example #2 vibe-coded reframe — substrate-content-author ≠ commit-author

Aaron 2026-05-03 mid-tick correction:
*"i didn't write any code all is written by you, so ask
yourself that question, i've been pricipled as this is a vibe
coding experiment"*

Per AGENTS.md vibe-coded hypothesis: the maintainer has written
zero lines of code; every line in src/, tools/, docs/, .claude/
skills/ is agent-authored. So git-blame attribution shows the
COMMITTER (maintainer), not the SUBSTRATE-CONTENT-AUTHOR (some
past Claude session).

This is structurally load-bearing for decision-archaeology in
vibe-coded projects. The "ask the original decision-maker" path
is unavailable when the maintainer is principled-non-substrate-
author. Substrate-content-authors are agents whose specific
session-context is largely lost.

Added new section "The vibe-coded reframe" near the top of the
worked example covering:

1. **Three-layer attribution distinction**: commit-author /
   substrate-content-author / decision-authority — the three
   are NOT collapsible in vibe-coded projects.

2. **First-party intent recovery paths in vibe-coded projects**:
   - Past-agent introspection (current agent reasons about
     structural choice given substrate-context past-agent had)
   - Tick shards / persona notebooks that captured session-
     context (Aarav's notebook is the rare load-bearing example
     for this case)
   - Maintainer-acceptance reasoning (selection-judgment intent,
     not substrate-author intent)

3. **Past-agent introspection on THIS case**: the substrate
   context past-me had (6+ narrow math experts + skill-router
   matches descriptions); inferred reasoning (minimal change to
   make umbrella + narrow-siblings co-exist deterministically;
   load-bearing emphasis flags router-criticality; explicit
   enumeration is more conservative than "most-narrow matching"
   which requires unimplemented routing logic).

4. **Skill-body teaching**: inference IS the right tool for
   vibe-coded substrate-author archaeology; certainty about
   intent is not available.

The vibe-coded reframe sharpens the decision-archaeology skill's
self-awareness about its own limits in vibe-coded substrate.
Composes with worked example #1 (supersession-archaeology) +
#3 (attribution-archaeology + sacred-tier) — together the three
worked examples now span ALL the substrate-author surfaces:
commit-history-walking + persona-notebook-loaded + agent-author-
introspection-required.

Added as additive new section to avoid conflict with #1267
(which is in flight with role-ref + ls-sort + stale-ADR-claim
fixes). Once #1267 merges, this PR will rebase cleanly onto it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* hygiene(tick-history): 2026-05-03T02:03Z — vibe-coded substrate-archaeology reframe; substrate-content-author ≠ commit-author

Aaron 2026-05-03 correction surfaced architectural truth:
maintainer principled-non-substrate-author; git-blame shows
COMMITTER not substrate-content-author. Decision-archaeology
in vibe-coded projects requires past-agent introspection +
persona-notebook layer + maintainer-acceptance reasoning;
"ask the maintainer" path unavailable.

Skill-body lesson: inference is the right tool; certainty is
not available; transparency about the limit IS the discipline.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* review(post-merge): trim MEMORY.md decision-graph entry + clarify tool-status + add ask-not-infer lesson to worked example #2

8 post-merge findings on #1265 + #1267:

5x #1265 stale-on-merge (claimed worked example #3 not on main;
actually IS on main since #1264 merged) — resolve as stale.

3 real findings fixed:

1. **#1265 P1 MEMORY.md entry too long** — trimmed to one-line
   summary per memory/README.md "keep entries terse" rule. Detail
   stays in memo body.

2. **#1265 P1 frontmatter description reads like
   tools/decision-graph/ already exists** — added "(proposed, not
   yet built)" qualifier; matches body Section "Mechanization
   path (proposed, not yet built)".

3. **#1267 ask-not-infer lesson missing from worked example #2**
   — added 6th demonstrated lesson explicitly: skill body teaches
   contributors to distinguish substrate-recoverable facts (cached)
   from first-party intent (source-of-truth) and ASK the available
   first-party source rather than infer from substrate when intent
   is the question. Composes with the vibe-coded reframe section
   added in #1268.

The 1 remaining #1267 thread (ADR status reconciliation)
addressed by the corrected synthesized answer; the canonical
durable form section reads consistently with Layer 7's no-ADR
substantive negative.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* hygiene(tick-history): 2026-05-03T02:07Z — #1265 + #1267 merged; 5 stale-on-review-timing + 3 real fixed in #1269

Review-timing-creates-stale-findings pattern recurring: when
multiple PRs are in flight referencing each other's not-yet-
merged substrate, each Copilot review surfaces stale findings.
Triage discipline correctly identifies stale + resolves
WITHOUT fix. Substrate-claim-checker v1+ needs PR-graph-
awareness to avoid this class.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
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.

2 participants