Skip to content

docs(plans): design milestone 7 - dogfooding strategy and capability-gap decision framework - #38

Merged
ncipollina merged 3 commits into
mainfrom
docs/milestone-7-dogfooding-design
Aug 2, 2026
Merged

docs(plans): design milestone 7 - dogfooding strategy and capability-gap decision framework#38
ncipollina merged 3 commits into
mainfrom
docs/milestone-7-dogfooding-design

Conversation

@ncipollina

Copy link
Copy Markdown
Contributor

Summary

  • Adds ADR-0029: the process for Milestone 7's dogfooding effort — migration-driven evidence (real project, not synthetic spikes) against ncipollina/cosmere-tracker's AutoFixture test kit, and a four-question rubric (frequency, workaround cost, principle alignment, readability delta) for deciding each candidate capability gap
  • Adds PLAN-0007 with phases: baseline → migrate test kit → collect evidence → decide gaps → docs/cleanup
  • Records the three known candidate gaps already present in cosmere-tracker's real fixture factory: Freeze<T>()-style hidden shared values, NSubstitute ConfigureMembers, and OmitOnRecursionBehavior — none pre-approved as future features, each decided from evidence per ADR-0029
  • Each gap's outcome is either a new Proposed roadmap ADR or a dated Amendment to the governing existing ADR (ADR-0011/0022/0025) recording "intentional design difference" — so a "no" is a real, discoverable outcome, not silence
  • Updates docs/mvp.md's Milestone 7 section and the ADR/plan indexes

Test plan

  • Docs-only change, no code touched

🤖 Generated with Claude Code

…gap decision framework

Turns Milestone 7's "record missing capabilities" scope into a concrete
process: migration-driven evidence (not synthetic spikes) against the
real ncipollina/cosmere-tracker AutoFixture test kit, a four-question
rubric per candidate gap, and a decision recorded either as a new
Proposed ADR (roadmap candidate) or a dated Amendment to the governing
existing ADR (intentional design difference) - so a gap can end in "no
change" without becoming invisible.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions github-actions Bot added the docs label Aug 2, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ca9e4a2360

ℹ️ 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".

Comment on lines +154 to +157
The migrated `cosmere-tracker` test suites passing under Compono, in that
repo, is itself the primary verification — there is no new automated test
added to the `compono` repo by this plan (it produces documentation and
decision records, not product code). If a gap's outcome is a "roadmap

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Cover the remaining Milestone 7 deliverables

If dogfooding exposes confusing diagnostics or an unnecessary abstraction, this test plan explicitly expects no product-code work, and none of its phases includes a task to refine or remove either; however, docs/mvp.md lines 421-422 still define both as Milestone 7 scope. The plan can therefore be marked Done without completing the milestone. Add explicit investigation/remediation tasks, or defer these deliverables and update the MVP scope accordingly.

AGENTS.md reference: AGENTS.md:L156-L157

Useful? React with 👍 / 👎.

Comment on lines +50 to +52
counts for `Cosmere.Tracker.TestKit`, count of `[CosmereTrackerAutoData]`/
`[InlineCosmereTrackerAutoData]` call sites across the 18 test files,
current `dotnet test` run time, and a short readability note per

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Define a reproducible performance measurement

When the before/after runs differ in restore state, build-cache warmth, host load, or configuration, a single dotnet test runtime can produce an apparent regression or improvement unrelated to Compono. Because Phase 4 uses this evidence to decide whether performance regressed unacceptably, specify a fixed command/environment, separate build or restore time, collect repeated runs, and define how the comparison and acceptable threshold are calculated.

AGENTS.md reference: AGENTS.md:L32-L34

Useful? React with 👍 / 👎.

Comment on lines +5 to +7
**Implements:** [ADR-0029](../adr/0029-milestone-7-dogfooding-strategy-and-capability-gap-decision-framework.md)
(dogfooding strategy, migration-driven evidence, gap decision rubric,
where outcomes get recorded)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge List every governing ADR in Implements

This roadmap plan lists only ADR-0029, but its scope explicitly executes ADR-0011, ADR-0018, ADR-0022, and ADR-0025 and may amend three of them. docs/plans/README.md requires a milestone plan's Implements line to list every accepted ADR it draws on, so the current header leaves the plan's dependency and decision trail incomplete; include the governing ADRs used by the migration.

Useful? React with 👍 / 👎.

@safe-settings-sync safe-settings-sync Bot removed the docs label Aug 2, 2026
Expands ADR-0029/PLAN-0007 per review: prefer idiomatic Compono over
mechanical translation (documenting removed abstractions); treat
migration friction as valid evidence even when a working Compono
alternative exists; broaden evidence collection past line counts/runtime;
require capturing positive findings for a balanced assessment; make the
migration guide and an evidence-backed roadmap first-class living
deliverables instead of after-the-fact write-ups; replace the binary
roadmap/intentional-difference outcome with a five-way classification
(bug / roadmap candidate / acceptable alternative / intentional design
difference / migration-only friction) so blocking bugs get fixed through
the normal engineering workflow instead of being designed around; and
require Phase 4 to state a final architectural conclusion about whether
dogfooding changed Compono's design direction.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions github-actions Bot added the docs label Aug 2, 2026
cosmere-tracker's AutoFixture kit has no semantic-data concept, so
migration-driven evidence alone would never surface Compono.Bogus - the
package would otherwise stay validated only by its own sample project.
ADR-0029 now carves out Compono.Bogus as the one deliberate exception to
"only migrate what's there": the migration must survey the domain models
for realistic-data candidates and adopt UseBogus()/ADR-0028's
alias/convention mechanism against cosmere-tracker's book/character/world
vocabulary, which the built-in convention allowlist wasn't designed
around - a genuine test of that mechanism, not just the happy path.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@ncipollina
ncipollina merged commit e9645c2 into main Aug 2, 2026
7 checks passed
@ncipollina
ncipollina deleted the docs/milestone-7-dogfooding-design branch August 2, 2026 18:47
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.

1 participant