Skip to content

claude.md(loading-taxonomy): three mechanisms; multi-harness reframe; canary-gated#1164

Merged
AceHack merged 1 commit intomainfrom
otto/loading-taxonomy-rebased-2026-05-01
May 1, 2026
Merged

claude.md(loading-taxonomy): three mechanisms; multi-harness reframe; canary-gated#1164
AceHack merged 1 commit intomainfrom
otto/loading-taxonomy-rebased-2026-05-01

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 1, 2026

Rebased-clean replacement for #1161 (which hit unresolvable rebase conflicts as main advanced).

Adds CLAUDE.md ground-rule bullet for Claude Code loading taxonomy (three mechanisms — direct-load / lazy-load / router-keyed — across multiple surfaces) + full memory file with EMPIRICAL VERIFICATION STATUS calibration and multi-harness reframe.

Composes with #1163 canary test as empirical gate.

🤖 Generated with Claude Code

…s; multi-harness reframe (rebased clean from main)

Surgical landing of the loading-taxonomy substrate after the
otto/claude-code-loading-taxonomy-2026-05-01 branch hit
unresolvable rebase conflicts. This commit applies ONLY the
surgical edits against current origin/main:

- CLAUDE.md: new ground-rule bullet for the loading taxonomy
  (three mechanisms across multiple surfaces, doc-supported
  auto-load with EMPIRICAL VERIFICATION STATUS calibration —
  unverified in our harness pending canary test in PR #1163).
- memory/MEMORY.md: new index row pointing at the memo with
  the same calibrated language.
- memory/feedback_claude_code_loading_taxonomy_*.md (new
  file): full memo with EMPIRICAL VERIFICATION STATUS section,
  three-mechanism taxonomy, behavioral-lesson placement
  rule-of-thumb, factory-owned substrate-discovery.ts as
  fallback under live-off-the-land preference, multi-harness
  reframe per maintainer 2026-05-01 ("we are going to have
  to solve this for every harness... substrate-discovery.ts
  in claude.md and agents.md").

Substrate corrections this PR makes vs prior unmerged branch:

(1) Drops the fragile "five surfaces" count claim (memo
    actually enumerates 6 + agents = 7). Reframe around the
    *mechanism* distinction (direct vs lazy vs router vs
    subagent vs on-demand), which is the load-bearing
    insight regardless of how surfaces are counted.

(2) Downgrades CLAUDE.md bullet language from "verified" to
    "doc-supported by canonical Anthropic source; rules-
    auto-load piece specifically is unverified in our
    harness pending the canary test." Prevents contributors
    moving lessons into .claude/rules/ on the assumption
    auto-load works when it might not in our harness.

(3) Captures the multi-harness reframe: "live off the land"
    is per-harness, not global. Each harness uses native
    where available; substrate-discovery.ts is the factory-
    owned cross-harness fallback, pointed at from both
    CLAUDE.md and AGENTS.md. Iterative-improvement angle
    for skill descriptions.

Composes with PR #1163 (canary test) which is the empirical
gate that resolves the EMPIRICAL VERIFICATION STATUS
calibration.

Replaces unmergeable branch otto/claude-code-loading-taxonomy-2026-05-01
which had cumulative rebase conflicts from main advancing
underneath. New branch is rebased-clean from current main.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 1, 2026 21:19
@AceHack AceHack enabled auto-merge (squash) May 1, 2026 21:19
@AceHack AceHack merged commit 29c51ab into main May 1, 2026
27 checks passed
@AceHack AceHack deleted the otto/loading-taxonomy-rebased-2026-05-01 branch May 1, 2026 21:22
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 durable documentation/memory describing Claude Code’s instruction-loading taxonomy (direct-load vs lazy-load vs router-keyed), with explicit “doc-supported but harness-unverified” calibration and a canary-gated verification plan that composes with PR #1163.

Changes:

  • Added a new memory entry detailing the three loading mechanisms across Claude Code surfaces and how to choose a surface by failure-mode shape.
  • Updated memory/MEMORY.md to index the new memory file near the top (newest-first region).
  • Updated CLAUDE.md with a wake-time bullet pointing to the taxonomy and summarizing the placement guidance.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
memory/feedback_claude_code_loading_taxonomy_rules_vs_skills_vs_claude_md_aaron_2026_05_01.md New memory file capturing the taxonomy + calibration + canary plan and multi-harness framing.
memory/MEMORY.md Adds index entry for the new memory file in the newest-first section.
CLAUDE.md Adds a wake-time bullet summarizing the taxonomy and pointing to the memory file for full reasoning.

Comment thread CLAUDE.md
Comment on lines +553 to +555
pending in `.claude/rules/test-canary.md`; treat
rules as direct-load only after the canary
confirms**. Lazy-load: `.claude/rules/*.md` with
AceHack added a commit that referenced this pull request May 1, 2026
…e-overlap axis (Otto 2026-05-01, 2x-confirmed) (#1166)

When a PR branch goes DIRTY because main moved, the discriminating signal between traditional rebase and cherry-pick-supersede is line-region overlap (not file overlap alone).

Worked examples this session: PR #1161 unmergeable on CLAUDE.md (intermediate merges in same region) → superseded via #1164 from fresh main; same tick PR #1155 clean rebase (no line overlap). Cherry-pick-supersede saves 10-30 minutes vs fighting cumulative conflicts.

Memory file documents protocol, decision rule, two worked examples, and what NOT to do (bulk-copy old state regresses intermediate merges).

Per the meta-rule (PR #1160), this is a load-bearing learning that needs CLAUDE.md scope or pointer. Memory file + MEMORY.md row landing pair-edit; CLAUDE.md pointer can be added in follow-up if rule proves to fire on more cases (currently 2x; promotion threshold tracked).

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 1, 2026
…sal + fix markdownlint MD032 (5 Copilot threads + lint failure)

Five P1 Copilot review threads on PR #1163:

(1, 2, 3) Three dangling-pointer findings on the loading-
taxonomy memo file. The findings were valid at PR-open time
(memo was on PR #1164 branch, not main). Now resolved by
PR #1164 merging — the memo is on main. Rebased canary
branch on latest main; no path changes needed (same target
file path, just now reachable).

(4) substrate-discovery.ts referenced as if it exists; it
doesn't yet. Clarified inline: 'proposed in the loading-
taxonomy memo's multi-harness reframe section; not yet
built — would land as tools/substrate-discovery/discover.ts
if the canary fails the test.'

(5) Path clarification: this repo uses CLAUDE.md at root,
not .claude/CLAUDE.md. Updated reference to clarify both
are valid per Anthropic docs but our repo has the root
location.

Plus markdownlint MD032 (lists need blank lines around) on
line 104 — converted the trailing lineage paragraph from
list-style to prose to satisfy the lint without changing
content.

Composes with PR #1167 harness-engineering memo where
Osmani's 'AGENTS.md under 60 lines' is the calibration
target making canary verification load-bearing for MVP
trim work.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 1, 2026
…st (#1163)

* test(.claude/rules): canary file for harness-native auto-load empirical test

The human maintainer 2026-05-01 calibration challenge surfaced
that I was claiming `.claude/rules/*.md` auto-loads in our
Claude Code harness based on canonical Anthropic docs alone —
without empirical verification.

This canary file enables the test:

1. Detection string `RULES_AUTOLOAD_CANARY_2026_05_01_LIVE_OFF_THE_LAND`
   embedded in the body. Unique, grep-able.
2. Test protocol: restart Claude Code, ask fresh session for
   the canary string without referencing this file. If session
   knows the string from auto-loaded context → docs accurate;
   if session has to Read the file → auto-load doesn't happen
   in our harness.
3. Alternative: `/memory` slash command per Anthropic docs
   should list rules files loaded in session.

The result discriminates the architectural path:

- Pass → "live off the land" works; harness-native discovery
  is sufficient; substrate-discovery.ts unnecessary.
- Fail → harness-native incomplete; need factory-owned tooling
  (substrate-discovery.ts) or treat .claude/rules/ as ordinary
  pointer-discovered docs.

Composes with PR #1161's loading-taxonomy memo (which now
carries the EMPIRICAL VERIFICATION STATUS calibration).

Per the human maintainer's preference: "if the skill router
works that's pretty agent/anthropic/harness native and i like
that" + "live off the land." This test is the gate.

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

* fix(canary): clarify CLAUDE.md path + substrate-discovery.ts as proposal + fix markdownlint MD032 (5 Copilot threads + lint failure)

Five P1 Copilot review threads on PR #1163:

(1, 2, 3) Three dangling-pointer findings on the loading-
taxonomy memo file. The findings were valid at PR-open time
(memo was on PR #1164 branch, not main). Now resolved by
PR #1164 merging — the memo is on main. Rebased canary
branch on latest main; no path changes needed (same target
file path, just now reachable).

(4) substrate-discovery.ts referenced as if it exists; it
doesn't yet. Clarified inline: 'proposed in the loading-
taxonomy memo's multi-harness reframe section; not yet
built — would land as tools/substrate-discovery/discover.ts
if the canary fails the test.'

(5) Path clarification: this repo uses CLAUDE.md at root,
not .claude/CLAUDE.md. Updated reference to clarify both
are valid per Anthropic docs but our repo has the root
location.

Plus markdownlint MD032 (lists need blank lines around) on
line 104 — converted the trailing lineage paragraph from
list-style to prose to satisfy the lint without changing
content.

Composes with PR #1167 harness-engineering memo where
Osmani's 'AGENTS.md under 60 lines' is the calibration
target making canary verification load-bearing for MVP
trim work.

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 1, 2026
… clean-rebase contrast (PRs #1164/#1161/#1155) (#1165)

Two rebase outcomes this tick:
- #1164 supersedes #1161 via cherry-pick-from-fresh-main (cumulative conflicts)
- #1155 cleanly rebased on main (no overlapping merges in edit regions)

The discriminating axis: do main's intermediate merges touch the same lines your branch edits? Yes → cherry-pick supersede. No → rebase.

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