ingest: add team-ai-Engineering as fourth test-case category
A repo instantiated from the template before the shared bash-lib refactor
landed surfaces drift in derived projects: ADD for the lib that didn't
exist yet, REFUSE for files the template rewired since instantiation.
Documents adopt.sh --dry-run as a drift detector complementary to
update-from-template.sh.
6ea8b97
lint: correct test-case framing on Adopt-Existing-Repo-Design
markov_embeddings_and_rag is the prototype where the pattern was
originally explored, not a 'manually adopted' repo. The template was
extracted from it and the two evolved in parallel from a common idea
ancestor. Found while running scripts/adopt.sh stub against it; the
REFUSE on wiki/init-wiki.sh wasn't custom-vs-template, it was parallel
evolution.
6aa00db
ingest: Adopt-Existing-Repo-Design
New synthesis page consolidating issue #6 discussion (Priscila's original
body + @hegu-1's two follow-up comments) into a concrete design for
scripts/adopt.sh.
Key reframe from hegu-1 captured: never-touch is computed, not enumerated.
Three lists model — ADD allowlist (template-owned), TOUCH grants
(host-owned via .llm-wiki-adopt-grants.yml), NEVER-TOUCH (derived).
Test approach proposes a controlled fixture + a real-repo dry-run against
crcresearch/FUNSD as a no-wiki public candidate.
Index updated under Mechanisms (adjacent to other in-design pages).
6ba7e46
log: 2026-06-18 ingest | Lesson-Gitignore-Anchor-Propagation
d13034c
Lesson-Gitignore-Anchor-Propagation — sync-time footgun from PR #39
`.gitignore` leading-slash entries anchor to the repo root of whichever
clone the file lives in. Shipping a template-local block through
`ALWAYS_FILES` moved the anchor into derived repos, where it silently
shadowed their real paths. Mostly latent (tracked files unaffected) but
bites: projects that legitimately track `.claude/hooks/`, paths that are
untracked at sync time, and contributors confused by `git check-ignore`
reporting their own `CLAUDE.md` as ignored.
Root cause classified as "scope-sensitive content shipped through a
scope-preserving channel" — sister to Lesson-Parallel-File-Drift (same
content in two files) but distinct (same file in two scopes).
Pages touched:
- Lesson-Gitignore-Anchor-Propagation.md (new)
- Home_llm-wiki-memory-template.md (Lessons learned entry)
- index_llm-wiki-memory-template.md (Lessons learned entry)
- Sync-Flow.md (See also back-ref)
- Lesson-Parallel-File-Drift.md (See also back-ref)
- Lesson-Template-Contribution-Discipline.md (See also back-ref)
8ebc9ca
log: lint fix dead wikilinks + Home sync
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5bcbe74
lint: fix dead wikilinks + sync Home with Lesson-Template-Contribution-Discipline
Two findings from routine lint after today's ingest:
- Yesterday's log entry for the Analysis-of-Wiki-Push-Race-Pattern
ingest used [[wikilink]] syntax for personal Claude memory file
names (project-web-forager-wiki-multi-writer,
feedback-wiki-write-default-multi-writer). They are not wiki
pages; the wikilink syntax tripped the lint pass as dead links.
Replaced with backticked plain text plus an explanatory note that
these are per-user personal memory, not wiki pages.
- Home was missing the new Lesson-Template-Contribution-Discipline
page. Per PR #32's category-level rule a new Lesson joining an
existing category warrants a Home representative-link slot.
Added under Lessons learned, fourth entry.
Health otherwise clean: no orphans, no other dead links, no missing
frontmatter, no index gaps, no untyped pages.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
8d2b36a
log: ingest Lesson-Template-Contribution-Discipline
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
13d161a
ingest: Lesson-Template-Contribution-Discipline
New synthesis page filed in response to user observation that lessons
learned during template development should live in wiki memory rather
than per-user Claude local memory, so they survive a clean pull (via
--dev-self per PR #25).
Captures four rationalizations and their empirical incidents:
1. Defaulting to single-writer when web_forager proved multi-writer
(incident: 2026-06-12 Omegaice/csweet1 log_*.md collision, ~3 min
manual reconcile).
2. Introducing speculative "Option C" integrations the user did not
propose (MCP overreach in PR7's first draft, pushed back on
2026-06-13).
3. Hardcoding speculative PR numbers in code (PR #28 stale #26
references; Priscila cleaned up four in commit e48f7d4).
4. Adding structural assertions that lock historical state rather
than catch behaviour regressions (PR6's three rename-locking
assertions, flagged 2026-06-13).
Each pattern has the same shape as Discipline-Gates' Universal
Rationalizations, just one layer up: instead of rationalizing a bad
wiki entry, the agent rationalizes a bad PR draft, a noisy test, or
a stale reference. Discipline-Gates See-also gains a back-reference.
Sister page to Lesson-Hook-Type-Matters, Lesson-Parallel-File-Drift,
Lesson-Validation-Methodology — matches their synthesis-type +
empirical-motivation style.
After this lands the four corresponding personal Claude memory entries
can be deleted; the lessons now live where they survive a clean pull.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
17b1bd6
log: lint reconcile classifications after cluster + PR6 land
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0194255
lint: reconcile classifications after cluster + PR6 land
Five model_fusion-cluster PRs (#28-#32) merged on 2026-06-12 and PR6
(#33, wiki-write-protocol rename) opened with CI green on 2026-06-13.
Implementation-Status, Multi-Agent-Write-Protocol, and Limitation-
Inverse-Edges-Missing still classified all of this work in its pre-merge
form. Bringing them to current state.
Implementation-Status:
- Five new Implemented rows for PRs #28-#32 (Memory boundary, analysis
+ decision page types, SessionStart auto-load, inverse-edge
vocabulary, Home category-nav). Each row names the specific files
that landed and the Analysis-of-model_fusion-Recommendations rec it
closes.
- The previously single Aspirational Multi-Agent-Write-Protocol row
split into three: production wiring (PR7, planned), inverse-edge
upstream SHACL spec (deferred), inverse-edge PostToolUse write-time
check (deferred).
- New In-review row for PR #33 (PR6 rename, CI green, mergeStateStatus
CLEAN).
Multi-Agent-Write-Protocol banner: appended a 2026-06-13 update
referencing PR #33 and the PR6/PR7 housekeeping-then-wiring split.
Limitation-Inverse-Edges-Missing: substantively rewritten. Title now
"(Partially Closed)". The proposed-fix snake-case inverse names
(extended-by:, supported-by:, criticized-by:) replaced with the
camelCase names that PR #31 actually shipped (extendedBy, supportedBy,
criticizedBy) and that match Edge-Types.md.template. The "KG
materialises inverses, agents do not author them" stance made explicit.
New "What remains" section names the upstream SHACL gap and the
optional PostToolUse check. Status: in-repo half closed, upstream half
+ write-time check still pending.
Wiki-Corrections-Log entry appended with the receipt.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
cd8c32d
log: ingest Analysis-of-Wiki-Push-Race-Pattern + Multi-Agent-Write-Protocol reclassification
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
78ccc95
ingest: Analysis-of-Wiki-Push-Race-Pattern + reclassify Multi-Agent-Write-Protocol
New type: analysis page filed in response to a 2026-06-12 production
collision in wiki/web_forager.wiki/ (3-4 human+agent teams; Csweet1
push rejected after Omegaice advanced remote by 20 commits in the
interim; conflict on log_web_forager.md from same-date entries from
both authors; ~3 minute manual rebase recovery).
The Multi-Agent-Write-Protocol prototype at
scripts/multi-agent-write-protocol-proto/ (shipped in PR #11; 9/9 CI
scenarios green on ubuntu-latest + macos-latest) handles exactly this
collision shape automatically via wiki_push's mechanical union-merge
for log_* files. The prototype is implemented but not wired into any
agent overlay; the only callers are the 9 CI scenarios.
Reclassification: the Multi-Agent-Write-Protocol banner is rewritten
from "design + prototype only, not yet wired" to "design + prototype
shipped, production wiring is the gap." Implementation-Status's row is
updated to name the wiring (not the design) as the specific gap and
to outline what a wiring PR should contain.
Second type: analysis page filed (after Analysis-of-model_fusion-
Recommendations earlier today). Both acknowledge the SCHEMA violation
that PR #29 closes.
Cross-references: Multi-Agent-Write-Protocol gains See-also entry to
the new page; Analysis-of-model_fusion-Recommendations and
Lesson-Validation-Methodology gain back-refs as sister/related pages.
Index updated under Applied examples (after the sister analysis page).
Home updated per PR #32's category-level rule: the page is significant
enough to warrant a Home entry, not just an Index entry.
Wiki-Corrections-Log entry appended for the receipt.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2d63078
log: lint Home sync — model_fusion entries + KG status refresh
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ab312c7
lint: Home sync — add model_fusion pages, refresh KG status
Two drifts found on Home that earlier-today ingests/lint didn't update:
- Line 29: KG-Pipeline still said "designed, not yet implemented".
The morning's KG aspirational -> implemented correction (commit
6cd8197) updated 9 pages but missed Home. Refreshed to the Index
form: "PR #14: scripts/kg/, rdflib + pyshacl in-process; SPARQL
over wiki frontmatter, optional Fuseki".
- Applied examples: Lessons-Learned-From-model_fusion and
Analysis-of-model_fusion-Recommendations were both filed earlier
today and added to Index but not to Home. Both qualify as
representative-link material per PR #32's category-level rule.
Added under Applied examples on Home with one-line descriptions
matching Index.
This is effectively the first lint pass under PR #32's just-shipped
Home category-nav convention, even though #32 hasn't merged yet —
the fix-pattern matches what its new Verification Gate criterion
will enforce mechanically.
Wiki-Corrections-Log entry appended.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0b8d45f
log: ingest Analysis-of-model_fusion-Recommendations
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5ad015f
ingest: Analysis-of-model_fusion-Recommendations (first type: analysis page)
Assessment of the 12 recommendations in Lessons-Learned-From-model_fusion,
filed in response to user's question about which would bring the greatest
value. Endorses #1 SessionStart auto-load, #4 analysis/decision page
types, #8 Claude-memory boundary, #9(b) reciprocal-edge enforcement.
Pushes back on #10 (variant proliferation risk), #6 (belongs in lint
over the KG, not a hook), #11 (overlaps with auto-compact), #2 (false-
positive risk).
Dogfood: filed under type: analysis, which is not declared in SCHEMA --
the point being that this is the exact gap recommendation #4 names. The
page is empirical evidence for the recommendation it endorses. SCHEMA
violation acknowledged in the page body.
Index updated under Applied examples. Lessons-Learned-From-model_fusion
See-also gains the reciprocal back-reference.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3dad10f
log: lint refresh Lessons-Learned-From-model_fusion to HEAD 88f4624
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3db9666
lint: refresh Lessons-Learned-From-model_fusion to HEAD 88f4624
Page declared verification against fc2472a (2026-06-04), an unresolvable
fork-local SHA. Refreshed against actual current HEAD 88f4624
(2026-06-12). Three commits between the original snapshot and HEAD
touch the field report's 12 recommendations:
- PR #14 / 2018186: scripts/kg/ (KG pipeline shipped, rdflib + pyshacl)
- PR #16 / b86c9e4: wiki/Edge-Types.md.template (inverse-edge vocabulary)
- PR #25 / 88f4624: scripts/instantiate.sh --dev-self (recursive
bootstrap fix shipped)
Page updates:
- Headline tally refreshed: 0 fully addressed / 3 partial / 9 missing,
plus recursive-bootstrap RESOLVED.
- Table row 9 refined: inverse vocabulary shipped but not yet wired
into init-wiki.sh page-type list; PostToolUse does not enforce.
- Body #9(a) rewritten to reference the shipped vocabulary and KG
pipeline rather than designed-but-pending.
- "The recursive bootstrap problem" section flipped to "RESOLVED in
PR #25" with --dev-self behavior enumerated.
- Provenance path corrected (/TCF/ -> /CRS_research/, the only real
checkout) and the unresolvable fc2472a flagged as fork-local.
5 bidirectional back-references added on the high-value related: entries
(sister page + three lessons + one limitation). The other 5 (Verification
-Gate, Discipline-Gates, Three-Operations, PostToolUse-Hook, Implementation
-Status) left one-way per the morning's heavily-linked roll-up rule.
Wiki-Corrections-Log appended with the second-pass entry.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6cd8197
log: lint KG aspirational -> implemented + bidirectional back-references
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
63c20d0
lint: KG aspirational -> implemented; bidirectional back-references; example cleanup
Stale-claim correction: PR #14 shipped scripts/kg/ (rdflib + pyshacl
in-process KG pipeline) to template main, but nine wiki pages still
described the pipeline as aspirational. Reclassified Knowledge-Graph-
Pipeline to implemented; corrected architecture from Fuseki to rdflib +
pyshacl; flagged the distribution gap (scripts/kg/ not yet in
ALWAYS_FILES, likely to ship as features/kg/ under RFC #13). Updated
Implementation-Status, Wiki-LLM-Pattern, Three-Operations, Typed-Edges-
and-Frontmatter, SCHEMA, Limitation-Inverse-Edges-Missing, Sync-Flow,
and the index to match.
Example cleanup: Wiki-LLM-Pattern line 23 used the placeholder example
[Markov-Chain-v5c2](Markov-Chain-v5c2). Replaced with a real wiki page
name so lint and the KG see a valid edge.
Bidirectional back-references added for the high-value concept <-> lesson
/ limitation pairs (Verification-Gate, Discipline-Gates, Lesson-
Validation-Methodology, Lesson-Parallel-File-Drift, Template-vs-Derived-
Projects, PostToolUse-Hook, Agent-Overlays). Index/log roll-ups
(Implementation-Status, Wiki-Corrections-Log) intentionally left one-way.
Wiki-Corrections-Log entry appended with the receipt.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ae7ad9c
ingest: Lessons-Learned-From-model_fusion (field report + 12-gap verification table)
New synthesis page filed as a sister to Applied-Example-Microelectronics-Tutor-Demo:
a second empirical test of the template from a different domain (NIR + PAD pharma
analytics, 43 wiki pages, ~5 months of active curation in
PaperAnalyticalDeviceND/model_fusion).
Headline content:
- Verification table of 12 implementation-gap recommendations against current
template HEAD fc2472a: 0 fully addressed, 2 partial, 10 still missing.
- Each recommendation labelled with empirical motivation (what fell through the
cracks in the source session) and a refined fix.
- Cross-references existing template lessons (hook-type-matters,
parallel-file-drift) and the inverse-edges-missing limitation that
recommendation #9 builds on.
- Includes the "recursive bootstrap problem": cloning the template lands
contributors without llm-wiki context. Proposed fix: dev-mode bootstrap
that clones the template's own GitHub Wiki locally, gitignored and
excluded from the instantiate allowlist.
Updates the index Applied-examples section and appends a log entry.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
39cc16c
log: lint entry for Multi-Agent-Write-Protocol redesign
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3e01092
Rewrite Multi-Agent-Write-Protocol as push-time-only + SessionStart
Replaces the per-agent-branch design with a transparent push-time-only
wrapper. Agents work directly on local main (standard git workflow);
the wiki-push wrapper handles conflict resolution only when an
optimistic push is rejected. The complementary session_start hook
keeps the agent's read view fresh and defers cleanly (no auto-rebase)
on divergence.
Key spec changes:
- "Design at a glance" table separates read freshness, write collision
prevention, and mechanical merges as three concerns with one
mechanism each.
- "The protocol" split into two subsections (session start; write).
Session start has four outcomes (up-to-date / fast-forward / ahead /
diverged); only fast-forward modifies local main.
- "Default behaviour: don't push" section makes explicit that the
protocol replaces the *mechanics* of push, not the *policy* (agents
don't push by default; user asks or agent asks first; push then
means invoke wiki-push).
- "Wiki only" scope made explicit (project main repos keep existing
conventions).
- Six worked examples (added two for session_start outcomes).
- Failure modes section gains halt-at-cap recovery: local main has
the un-pushed work + any partial merge commits; agent or user
decides to keep retrying / abandon / cherry-pick.
Implementation-Status updated to reflect the prototype's CI-green
status on the template fork at chrissweet/llm-wiki-memory-template
branch multi-agent-write-protocol-proto.
Log entry follows in a separate commit per Log-Entry-Attribution.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
fc2f136
log: ingest entry for Multi-Agent-Write-Protocol page
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
80e6e9c
Ingest Multi-Agent-Write-Protocol spec page
A new aspirational page documenting an OCC-with-semantic-retry write
protocol for wikis with multiple LLM-agent writers. The protocol prevents
push-level collisions by construction: each agent writes via its own
contribution branch, attempts a merge against current main, and either
pushes cleanly or re-plans its writes semantically before retrying. No
separate reconciler is needed; the writing agent reconciles its own
attempts.
The page covers: the protocol's six steps; conflict classification
(union-merge for index/log files via .gitattributes, three-way merge for
non-overlapping content, semantic resolution for overlapping content);
required agent capabilities; failure modes (livelock cap K=3, network
faults, stale branches, name collisions); four worked examples spanning
the mechanical-merge and semantic-resolution cases; open questions; and
cross-references to existing wiki pages (Verification-Gate, Sync-Flow,
PostToolUse-Hook, etc).
Implementation-Status gains the page under Aspirational, pointing at the
deterministic prototype in progress at the Omniscient_2 sister repo.
Home and index updated in the Mechanisms section.
Log entry follows in a separate commit per Log-Entry-Attribution.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
69ee676
log: ingest entry for Test-Harness page (PR #10 documentation)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
c8b4043
log: lint entry for 2026-05-31 wiki-vs-code reconciliation (retroactive)
Appends the log entry for commit 8601db0 (the corrections work) that was
missed in the original commit cycle. The Verification Gate criterion "log
entry appended" was not run; this commit is the receipt.
Per Log-Entry-Attribution: one commit per log entry, separated from the
content commits. This entry refers backwards to 8601db0 as the content
commit it documents.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3ee6329
Ingest Test-Harness page; add In review bucket to Implementation-Status
Documents scripts/test-mvp/ and the GitHub Actions workflow that ship in
PR #10 (chrissweet/llm-wiki-memory-template add-test-harness), addressing
template issue #5. The harness implements the structural half of
Lesson-Validation-Methodology: smoke against real template, e2e against a
simulated derivative with MVP patches applied. 91 assertions across 1
smoke + 6 e2e stages on bash 3.2-compatible code, matrix on ubuntu and
macOS.
The page makes the gap-analysis explicit: the harness covers stage 2,
stage 5, and Agent-Instance assertions in stage 1 that the trimmed MVP
slates for deferral; the harness does NOT yet cover ALWAYS_FILES updates
to the sync scripts (the footgun Sync-Flow documents and PR #1 hit).
Filed as follow-up work, not yet implemented in the harness.
Implementation-Status gains a fourth bucket ("In review") for features
that exist as code in an open PR but are not yet merged into template
main. Home and index updated in the Mechanisms section.
Log entry to follow in a separate commit per Log-Entry-Attribution
convention.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
171a5c6
Flag KG pipeline aspirational; correct none-overlay framing; fix Sync-Flow ALWAYS_FILES; add Implementation-Status + Wiki-Corrections-Log
Reconciles the wiki with the template code on main, where notes-driven
documentation had drifted from what shipped:
- Knowledge-Graph-Pipeline is described across 8 pages as if implemented,
but scripts/kg/build-graph.sh does not exist in the template repo. The
source page now carries a NOT YET IMPLEMENTED banner and a
status: aspirational frontmatter field. Citations on the seven dependent
pages are softened to "designed, not yet implemented" so the aspirational
status is visible at every mention.
- The none "overlay" is not an overlay: --agent=none in instantiate.sh is
a no-install flag, and there is no wiki/agents/none/ directory.
Limitation-Untested-Overlays and Agent-Overlays are reframed accordingly,
separating minimal mode from the two true overlays (claude-code, cursor).
Limitation-Untested-Overlays also corrects a phrasing claim: the README
uses "Shipped but not yet validated" / "Likewise unvalidated", not
"untested-live".
- Sync-Flow's ALWAYS_FILES section was inaccurate: it mixed contents from
four separate arrays and listed the nonexistent scripts/kg/*.sh. Section
rewritten to describe all five arrays (ALWAYS_FILES, CLAUDE_FILES,
CURSOR_FILES, ONE_SHOT_FILES, SUBSTITUTE_FILES) with the file lists
actually present in the sync scripts on main.
New pages:
- Implementation-Status.md: single normative source for what is real today
vs aspirational, with a Partially Implemented bucket for Cursor's
structural-but-not-behavioral validation.
- Wiki-Corrections-Log.md: append-only log of each correction; this commit
is the first entry.
Home and index updated with a "Governance and meta" section linking the
two new pages.
Verification debts noted in the Corrections Log but not corrected this
round: Applied-Example-Microelectronics-Tutor-Demo staleness, the
permission-model claims in Limitation-Prompt-Injection-Residual, and the
existence of chrissweet/llm-wiki-tutor-template cited by Governance.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
8601db0