You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implementation / process hardening — authority split recorded; one bounded docs leaf remains.
The lifecycle/context-loading contract and first stale-issue cleanup pass are complete. On 2026-07-30 the current M1 chain was restructured so routing, implementation, acceptance, roadmap, and future release history no longer share one issue body.
This work is non-blocking for M1. It must not interrupt #583 or #544.
Milestone
None — repository operating model.
Current product milestone remains M1. This issue owns context-loading efficiency, issue authority boundaries, and the bounded cleanup that proves them.
User outcome
A maintainer or coding agent can enter the repository, identify the current milestone and executable owner, and begin a bounded implementation without scanning the whole repository, replaying the open backlog, or relying on a host-specific instruction file for shared repository rules.
The long-tail backlog remains intentionally large. That is acceptable only while it stays outside the default execution capsule.
Truth-critical changes still require targeted caller/route inventory because the codebase has real contract fan-out. “Do not scan the whole repository” does not mean “trust one issue body without searching affected production paths.”
Release history, detailed design, copied roadmap, full dependency narrative
Release notes belong in a GitHub Release and/or CHANGELOG.md when an actual version/tag is cut. They do not belong in the default implementation context.
2. Use a bounded execution capsule
For substantive work, load and stop when sufficient:
Search wider only for a named symbol, production-route inventory, duplicate, prior decision, or direct dependency. A repository-wide architecture review is a separate task.
3. Split by invariant or user outcome, not file
#583 remains one issue across price_feed, ValuationFrame, PortfolioBasis, review, both consider routes, and revisit because those are consumers of one price/share-basis invariant. Splitting by file would make partial fixes and semantic drift more likely.
#544 remains separate because it owns a different result: proof that the TradeEvaluation challenge actually reached the user.
4. Host-specific files are adapters, not shared authorities
shared repository-maintenance guidance moves to a host-neutral maintainer guide;
CLAUDE.md becomes a thin adapter containing pointers and actual Claude Code-only tooling behavior;
AGENTS.md remains a thin cross-agent router;
a small structural gate prevents CLAUDE.md from regrowing shared test, privacy, PR, architecture, or mirrored-surface sections.
A new rule may enter CLAUDE.md only when its owning issue/PR names the Claude-only mechanism it supports. “Claude may benefit from seeing this” is not sufficient.
Use only public repository metadata, public issues/PRs, synthetic fixtures, and generic examples. No real trade, holding, amount, date, thesis, source path, private-repository content, or private QA text may enter process evidence.
Rollout / compatibility / recovery
Issue-body edits and documentation moves are reversible through GitHub history. No runtime, schema, or user data change is owned here. If a thinner routing surface omits a necessary pointer, restore the pointer at its authority; do not restore copied history or design prose.
Historical first-pass result
The 2026-07-29 pass updated seven issue bodies/titles, marked #12 superseded, closed no issue, preserved historical bodies, and landed PR #541 with the lifecycle authority. Full per-candidate evidence remains in this issue's comments and GitHub revision history.
Status
Implementation / process hardening — authority split recorded; one bounded docs leaf remains.
The lifecycle/context-loading contract and first stale-issue cleanup pass are complete. On 2026-07-30 the current M1 chain was restructured so routing, implementation, acceptance, roadmap, and future release history no longer share one issue body.
This work is non-blocking for M1. It must not interrupt #583 or #544.
Milestone
None — repository operating model.
Current product milestone remains M1. This issue owns context-loading efficiency, issue authority boundaries, and the bounded cleanup that proves them.
User outcome
A maintainer or coding agent can enter the repository, identify the current milestone and executable owner, and begin a bounded implementation without scanning the whole repository, replaying the open backlog, or relying on a host-specific instruction file for shared repository rules.
Current repository truth
Completed
docs/issue-lifecycle.mdas the single lifecycle/context-loading authority, with thin routing pointers.Implementation handofffor the active split-basis invariant, production entries, expected surfaces, required proof, non-goals, and stop condition.Implementation handoffand is accurately marked blocked until [bug·data·M1-blocker] Split-adjusted shares can be valued against prices on a different split basis #583 stabilizes the arithmetic contract.CLAUDE.md, causing Claude Code to treat a host-specific adapter as the preferred place for repository-wide rules.Still true
CLAUDE.mdis currently 122 lines and mostly host-neutral maintainer material; [process·docs] Shared maintainer contract must not live in CLAUDE.md #587 is not yet implemented.Decision
1. Separate four information lifecycles
Release notes belong in a GitHub Release and/or
CHANGELOG.mdwhen an actual version/tag is cut. They do not belong in the default implementation context.2. Use a bounded execution capsule
For substantive work, load and stop when sufficient:
mainandAGENTS.md;Search wider only for a named symbol, production-route inventory, duplicate, prior decision, or direct dependency. A repository-wide architecture review is a separate task.
3. Split by invariant or user outcome, not file
#583 remains one issue across
price_feed,ValuationFrame,PortfolioBasis, review, bothconsiderroutes, and revisit because those are consumers of one price/share-basis invariant. Splitting by file would make partial fixes and semantic drift more likely.#544 remains separate because it owns a different result: proof that the TradeEvaluation challenge actually reached the user.
4. Host-specific files are adapters, not shared authorities
#587 owns the correction:
CLAUDE.mdbecomes a thin adapter containing pointers and actual Claude Code-only tooling behavior;AGENTS.mdremains a thin cross-agent router;CLAUDE.mdfrom regrowing shared test, privacy, PR, architecture, or mirrored-surface sections.A new rule may enter
CLAUDE.mdonly when its owning issue/PR names the Claude-only mechanism it supports. “Claude may benefit from seeing this” is not sufficient.Remaining scope
Non-goals
is:openas the execution queue.AGENTS.mdorCLAUDE.mdinto another complete project database.Acceptance criteria
CLAUDE.md, leaves a thin Claude adapter, and adds a bounded regression gate.Dependencies
CLAUDE.mdadapter implementation.Privacy boundary
Use only public repository metadata, public issues/PRs, synthetic fixtures, and generic examples. No real trade, holding, amount, date, thesis, source path, private-repository content, or private QA text may enter process evidence.
Rollout / compatibility / recovery
Issue-body edits and documentation moves are reversible through GitHub history. No runtime, schema, or user data change is owned here. If a thinner routing surface omits a necessary pointer, restore the pointer at its authority; do not restore copied history or design prose.
Historical first-pass result
The 2026-07-29 pass updated seven issue bodies/titles, marked #12 superseded, closed no issue, preserved historical bodies, and landed PR #541 with the lifecycle authority. Full per-candidate evidence remains in this issue's comments and GitHub revision history.