Conversation
…link / dual-reference)
There was a problem hiding this comment.
Pull request overview
Adds a new tick-history shard entry documenting the PR #1025 follow-up resolution and the “named-link / Real-fix subclass” (dual-reference: prose name + canonical memory filename) citation discipline.
Changes:
- Added
2026-05-01T10:05Ztick-history row recording the named-link xref follow-up for PR #1025. - Documented the dual-reference “named-link” pattern and positioned it relative to existing xref classes.
| @@ -0,0 +1 @@ | |||
| | 2026-05-01T10:05:00Z | opus-4-7 / autonomous-loop tick | 98fc7424 | PR #1025 follow-up tick — 1 thread (Copilot P1 xref). The "Aaron-is-Rodney rule" cross-reference cited the rule by **name only**, not by canonical filename. Added the filename `memory/feedback_aaron_is_rodney_razor_not_immune_to_canonicalization_aaron_2026_04_30.md` inline (verified existence via `git ls-tree -r --name-only origin/main`). **Same class as PR #1042's wildcard-not-navigable** (composes-with refs are content-addressed pointers, not semantic indicators) but with a sharper lesson: when a substrate file *cites* a memory file by name in prose ("the Aaron-is-Rodney rule"), the corrective is to **dual-reference**: keep the prose name AND add the canonical filename. The prose stays readable; the filename stays grep-able. Single-reference (name-only OR filename-only) is suboptimal — name-only loses navigation; filename-only loses readability. Thread resolved via GraphQL. PR #1025 substrate; auto-merge unarmed. Cron 98fc7424 healthy. | [PR #1025: 1 commit (708d950) addressing 1 finding + 1 thread-resolution; auto-merge intentionally unarmed] | The dual-reference discipline is structurally a special case of **named-link / Real-fix subclass** — when a substrate file references a class/concept that has a canonical memory file backing it, the prose-form ("the X rule") should be paired with the path-form (`memory/feedback_x_*.md`). The pair gives readers both the cognitive handle (the name) and the navigation handle (the path). This is a different shape from forward-reference (path-only, file in flight) and from wildcard-not-navigable (path-with-glob); it's the substrate-level discipline of **prose-name → path-pair atom is the correct citation atom**. Future-Otto: when authoring "the X rule" / "the Y discipline" / "the Z framework" cross-references in substrate prose, immediately add the canonical filename inline as a backtick-wrapped path. The cost is ~50 chars; the saved cost is per-reader navigation-friction. The pattern catalog promotion next session should add this as a fourth class member alongside forward-reference / wildcard-not-navigable / stale-filename. | | |||
There was a problem hiding this comment.
P1 (xref): This tick row includes a wildcard memory-path example (memory/feedback_x_*.md). In this repo, wildcard cross-references like feedback_* are treated as broken pointers (see memory/feedback_external_reviewer_known_bad_advice_classes_check_our_rules_first_otto_292_2026_04_25.md §“B-9. Add wildcard cross-references”). Please rewrite the example to avoid * (e.g., memory/feedback_<slug>_<date>.md, or describe the pattern without a path-shaped string) so it can’t be mistaken for a navigable/verifiable reference.
| | 2026-05-01T10:05:00Z | opus-4-7 / autonomous-loop tick | 98fc7424 | PR #1025 follow-up tick — 1 thread (Copilot P1 xref). The "Aaron-is-Rodney rule" cross-reference cited the rule by **name only**, not by canonical filename. Added the filename `memory/feedback_aaron_is_rodney_razor_not_immune_to_canonicalization_aaron_2026_04_30.md` inline (verified existence via `git ls-tree -r --name-only origin/main`). **Same class as PR #1042's wildcard-not-navigable** (composes-with refs are content-addressed pointers, not semantic indicators) but with a sharper lesson: when a substrate file *cites* a memory file by name in prose ("the Aaron-is-Rodney rule"), the corrective is to **dual-reference**: keep the prose name AND add the canonical filename. The prose stays readable; the filename stays grep-able. Single-reference (name-only OR filename-only) is suboptimal — name-only loses navigation; filename-only loses readability. Thread resolved via GraphQL. PR #1025 substrate; auto-merge unarmed. Cron 98fc7424 healthy. | [PR #1025: 1 commit (708d950) addressing 1 finding + 1 thread-resolution; auto-merge intentionally unarmed] | The dual-reference discipline is structurally a special case of **named-link / Real-fix subclass** — when a substrate file references a class/concept that has a canonical memory file backing it, the prose-form ("the X rule") should be paired with the path-form (`memory/feedback_x_*.md`). The pair gives readers both the cognitive handle (the name) and the navigation handle (the path). This is a different shape from forward-reference (path-only, file in flight) and from wildcard-not-navigable (path-with-glob); it's the substrate-level discipline of **prose-name → path-pair atom is the correct citation atom**. Future-Otto: when authoring "the X rule" / "the Y discipline" / "the Z framework" cross-references in substrate prose, immediately add the canonical filename inline as a backtick-wrapped path. The cost is ~50 chars; the saved cost is per-reader navigation-friction. The pattern catalog promotion next session should add this as a fourth class member alongside forward-reference / wildcard-not-navigable / stale-filename. | | |
| | 2026-05-01T10:05:00Z | opus-4-7 / autonomous-loop tick | 98fc7424 | PR #1025 follow-up tick — 1 thread (Copilot P1 xref). The "Aaron-is-Rodney rule" cross-reference cited the rule by **name only**, not by canonical filename. Added the filename `memory/feedback_aaron_is_rodney_razor_not_immune_to_canonicalization_aaron_2026_04_30.md` inline (verified existence via `git ls-tree -r --name-only origin/main`). **Same class as PR #1042's wildcard-not-navigable** (composes-with refs are content-addressed pointers, not semantic indicators) but with a sharper lesson: when a substrate file *cites* a memory file by name in prose ("the Aaron-is-Rodney rule"), the corrective is to **dual-reference**: keep the prose name AND add the canonical filename. The prose stays readable; the filename stays grep-able. Single-reference (name-only OR filename-only) is suboptimal — name-only loses navigation; filename-only loses readability. Thread resolved via GraphQL. PR #1025 substrate; auto-merge unarmed. Cron 98fc7424 healthy. | [PR #1025: 1 commit (708d950) addressing 1 finding + 1 thread-resolution; auto-merge intentionally unarmed] | The dual-reference discipline is structurally a special case of **named-link / Real-fix subclass** — when a substrate file references a class/concept that has a canonical memory file backing it, the prose-form ("the X rule") should be paired with the path-form (`memory/feedback_<slug>_<date>.md`). The pair gives readers both the cognitive handle (the name) and the navigation handle (the path). This is a different shape from forward-reference (path-only, file in flight) and from wildcard-not-navigable (path-with-glob); it's the substrate-level discipline of **prose-name → path-pair atom is the correct citation atom**. Future-Otto: when authoring "the X rule" / "the Y discipline" / "the Z framework" cross-references in substrate prose, immediately add the canonical filename inline as a backtick-wrapped path. The cost is ~50 chars; the saved cost is per-reader navigation-friction. The pattern catalog promotion next session should add this as a fourth class member alongside forward-reference / wildcard-not-navigable / stale-filename. | |
PR #1025 follow-up: 1 thread on prose-only cross-reference. Added canonical filename inline alongside the named cite.
New class: named-link / Real-fix subclass — dual-reference discipline (prose-name + canonical-filename) is the correct citation atom for prose references to memory files.
🤖 Generated with Claude Code