Conversation
…w (durable-home work for already-named rule) Lands the formal glossary definition for Candidate-count Goodhart per Claude.ai's session-close step-3 (durable-home verification). The rule was already named in memory/feedback_candidate_count_goodhart_*.md; this PR places the canonical pointer-plus-gist where future contributors look. Per Amara's just-arrived "do not let the fix for the flywheel become another turn" rule, batched the glossary entry + tick row into one PR (cuts friction in half vs separate PRs). Composes with PR #707 (minimal Aurora bridge) where Candidate- count Goodhart is Translation 1 of the three immune translations. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds a canonical glossary entry for “Candidate-count Goodhart” and records the corresponding autonomous-loop tick-history row to provide a durable home + audit trail for the already-named rule.
Changes:
- Add “Candidate-count Goodhart” entry to
docs/GLOSSARY.mdunder “Meta-algorithms and factory-native coinages,” including an authoritative pointer to the memory source. - Append a new tick-history row documenting the durable-home work being landed in this PR.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| docs/GLOSSARY.md | Adds the glossary definition (plain + technical) and points to the authoritative memory file. |
| docs/hygiene-history/loop-tick-history.md | Appends a tick-history row capturing the material state change (glossary entry landed). |
Comment on lines
+865
to
+870
| located 12 candidates; only context classification (rule- | ||
| definition / sample / live-code / disclosure / etc.) determines | ||
| how many — if any — actually need rewriting. Treating the | ||
| candidate count as the violation count is a Goodhart-class | ||
| failure: it optimizes for the visible metric (count) at the | ||
| expense of the intended target (real risk). |
There was a problem hiding this comment.
P2: The manual line wrap splits the hyphenated term across lines ((rule- + newline + definition ...)), which will render as rule- definition (extra space) in Markdown. Rewrap this sentence so the hyphenated term isn’t broken across a newline (or remove the hyphen).
Suggested change
| located 12 candidates; only context classification (rule- | |
| definition / sample / live-code / disclosure / etc.) determines | |
| how many — if any — actually need rewriting. Treating the | |
| candidate count as the violation count is a Goodhart-class | |
| failure: it optimizes for the visible metric (count) at the | |
| expense of the intended target (real risk). | |
| located 12 candidates; only context classification | |
| (rule-definition / sample / live-code / disclosure / etc.) | |
| determines how many — if any — actually need rewriting. | |
| Treating the candidate count as the violation count is a | |
| Goodhart-class failure: it optimizes for the visible metric | |
| (count) at the expense of the intended target (real risk). |
AceHack
added a commit
that referenced
this pull request
Apr 29, 2026
…transport eliminates EOF collision (#726) Second concrete use of the new shard-file transport. Independent file from PR #725's 0230Z shard - no EOF-append collision possible because each shard is a different file. The cascading-conflict failure mode that produced the Liveness- Mechanism Flywheel is now structurally impossible under shard- file transport. Diagnosis-to-fix loop took 6 ticks; validation takes 1. Legacy DIRTY chain (PRs #718-#723) awaits separate resolution; not in scope this tick per restraint discipline. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack
added a commit
that referenced
this pull request
Apr 29, 2026
…acket) (#738) * research(tick-history-shards): DBSP/Z-set math note (Amara via Aaron 2026-04-29) Amara's substantial math packet anchoring the shard transport landed as a research note under docs/research/. Bounded shape: - Core claim: shard files = write model / event store; tables = read model / projection; DBSP/Z-set = correction algebra - Carrier types + write/read model decomposition - Seven laws to test (commutativity, idempotency, retraction, supersession, projection-rebuild equivalence, write-read separation, chronology) - Retraction model with two implementation options - Anti-hotspot law (formal reason Option B works) - F# implementation sketch for future projector script - §33 archive header with non-fusion disclaimer (this note does NOT claim implementation IS DBSP; it claims the math is isomorphic enough that the laws should hold) Operator-authority criterion applied (4 conditions all hold): prior review converged + failure mode live + action reversible + more review = flywheel turn. Authorized landing. Glossary entry "Git-native CQRS / Event Sourcing" DEFERRED because it depends on PR #723 (Candidate-count Goodhart entry) merging first to avoid overlapping diff regions. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * review-thread fixes on PR #738: schema compliance + filename-convention drift Three threads from Codex P2 + Copilot P1 (2 distinct findings): 1. **Filename convention drift** (lines 56 + 188): the research note recommended `HHMMSSZ-<short-content-hash>.md` but the currently landed convention is `HHMMZ.md`. Reframed as "future-migration recommended path (NOT the current landed convention)" with explicit pointer to the README's actual current convention. Math below uses content-hash form because it makes idempotency law cleanest to state, but operational form is HHMMZ.md. 2. **Shard schema mismatch** (line 1 of 0335Z.md): the row started with parenthetical narrative inside the timestamp cell, which doesn't match the README's strict 6-column schema (`| <ISO 8601 timestamp> | <model id> | <cron> | <body> | <PR ref> | <observation> |`). Fixed: timestamp cell now contains only the ISO 8601 timestamp; narrative moved to the body cell. Aaron's diagnostic catch was load-bearing: BLOCKED was caused by unresolved threads (= conversation-resolution requirement in branch protection), NOT Aaron-side approval. I had misdiagnosed `reviewDecision=NONE` as "human review required"; the actual blocker was these 4 unresolved threads. Stopped making new shard PRs while diagnosing. The pithy diagnosis (Amara): "BLOCKED is a state, not a cause." Resolved into actual causes; fixing now. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
memory/feedback_candidate_count_goodhart_*.md; this PR places the pointer-plus-gist where future contributors lookWhy this PR is batched (glossary + tick row in one)
Per Amara's just-arrived "do not let the fix for the flywheel become another turn of the flywheel" rule, this PR batches the glossary entry + tick-history row into one PR (cuts friction in half vs separate PRs).
Test plan