Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8d0b6ccef2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Pull request overview
Adds an in-repo “FACTORY-DISCIPLINE” index so dispatched subagents can read key session-captured operational disciplines without access to the per-user memory store.
Changes:
- Introduces
docs/FACTORY-DISCIPLINE.mdas a stop-gap discipline index with short rule summaries. - Adds pointers from each discipline to the (intended) authoritative memory entries.
- Documents a recommended read-order for subagents (CLAUDE.md → this index → file-local headers).
Stop-gap fix (b) of Otto-230 subagent-fresh-session quality-gap debug: `docs/FACTORY-DISCIPLINE.md` mirrors session-captured Otto-NN disciplines into the repo so dispatched subagents can `Read` them. Subagents have no access to the out-of-repo memory store where durable corrections accumulate in-session; without this file, each dispatch has to hand-carry every applicable rule or hope the subagent discovers them from the target file's header. Content: short-form index of active disciplines, each with a one-paragraph statement + pointer at the authoritative memory file. Covers append-only audit-trail, code-comments-not-history, name-attribution role refs, verbatim-preserve vs factory-authored, glass-halo PII tiers, auto-merge-always, three-axis drain, hot-file cascade bulk-close, subagent quality-gap, serial PR opening + parallel thread drain, post-drain AceHack routing, branch-protection strict=false, cross-harness skill discovery, three-outcome model per review thread. Stop-gap: the upstream fix (sync memory store → in-repo `memory/` on every tick) is in docs/BACKLOG.md at elevated P1 priority per Otto-230 "Ongoing memory-sync mechanism" row. When that lands, subagents read the authoritative memory directly; this file becomes a short-form index on top. Not authoritative — memory files are. This file is a forwarding pointer. Updates here track memory writes manually until the memory-sync mechanism lands.
Drain 7 unresolved review threads on PR #368: 1. Codex P1 — reverse source-of-truth framing: in-repo `memory/` is canonical per GOVERNANCE.md §18 and memory/README.md; per-maintainer `~/.claude/.../memory/` is factory-personal staging that syncs INTO the in-repo tree. Explain the direction-reversal caused by the memory-sync mechanism landing. 2. Copilot — name-attribution section's own examples now use role references (no direct contributor/agent names) to match the rule the section defines. 3. Copilot — `memory/MEMORY.md` relabeled "in-repo" (canonical index), not "out-of-repo". 4. Copilot MD032 line 56 — reworded line-leading `+` to `and` so it isn't parsed as a list item. 5. Copilot MD032 line 89 — blank line before glass-halo bullet list. 6. Copilot MD032 line 164 — reworded line-leading `+` to `and`. 7. Copilot MD032 line 196 — blank line before "Placement:" bullet list. Also scrubbed two incidental name references in the glass-halo section (first-party PII framing now uses "the human maintainer" instead of a specific name) and updated the subagent-fresh-session-quality-gap section to reflect that the in-repo `memory/` tree is now reachable by subagents via `Read` (post memory-sync). markdownlint-cli2 docs/FACTORY-DISCIPLINE.md — clean.
8d0b6cc to
2e680ce
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2e680ce141
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| earlier row, never edit existing rows in place — not for typos, | ||
| date normalisation, column alignment, or "consistency". | ||
|
|
||
| **Source:** `memory/feedback_tick_history_append_only_never_edit_prior_rows_otto_229_*.md` |
There was a problem hiding this comment.
Replace dead source pointers with existing memory entries
This index is meant to route subagents to authoritative memory/feedback_*.md records, but the referenced pattern here (and the similar Otto-tagged patterns in other sections) does not resolve to any file in the repo, so a subagent cannot follow the pointer for deeper context and will fall back to the summary text only. That undermines the file’s stated purpose of preventing fresh-session rule loss and makes future updates unverifiable because the cited source artifacts are missing.
Useful? React with 👍 / 👎.
Summary
Stop-gap fix (b) for the Otto-230 subagent-fresh-session
quality-gap debug. Mirrors session-captured Otto-NN disciplines
into the repo at
docs/FACTORY-DISCIPLINE.mdso dispatchedsubagents can
Readthem without needing access to theout-of-repo
~/.claude/projects/<slug>/memory/store.What it covers
Each entry is one paragraph + pointer at the authoritative
memory file.
Why
Subagents dispatched via the
Agenttool haveCLAUDE.md+their dispatch prompt +
Readaccess to the repo. They doNOT have access to the factory-personal memory store where
recently-captured corrections live. When a subagent on
PR #364 normalised "May-01" → "2026-05-01" in a prior
tick-history row — violating the file's own append-only
discipline — the root cause was that the append-only rule
was captured in memory only, not yet in the repo. This file
closes that specific gap.
What it's not
forwarding pointer.
until the memory-sync mechanism (fix-a) lands.
BP-NNrules stay indocs/AGENT-BEST-PRACTICES.md. This is session-capturedcorrections distilled for subagent dispatch.
Upstream
The memory-sync mechanism (fix-a) is already tracked at
elevated P1 priority in
docs/BACKLOG.md("Ongoing memory-sync mechanism" row per Otto-114). When that ships,
subagents read the authoritative memory directly; this file
becomes a short-form index.
Test plan
Otto-NN identifiers used in-session
docs/FACTORY-DISCIPLINE.md" in its pre-edit workflowso we can measure whether discipline-compliance
improves