Repository navigation
chore(product): capture PRODUCT.md for the impeccable workflow - #88
Merged
Merged
Conversation
`impeccable context` reports NO_PRODUCT_MD / BUILD_INIT_REQUIRED: DESIGN.md records the visual system, but nothing records product truth, so any new-surface or redesign request is blocked until it exists. The maintainer asked for this to be written directly rather than through the init interview, so nothing in it is an interview answer: - Facts are sourced to the artifact that states them (README, #82, #65, #44, DESIGN.md, CONTRIBUTING.md, package.json). - Everything read out of the code rather than stated is marked `[inferred]`, with a provenance note at the top of the file saying so. - Two contradictions are recorded as open questions instead of being resolved by guessing: the README calls quiz/transcription/slide generation unreleased while quiz and Anki surfaces are implemented, and no accessibility standard is named anywhere. - No image generation is available in this tool surface, so init records no `buildPath` preference. That is a working state, not a gap. The positioning section records what #82 establishes: a citation resolves to a source location and must survive re-chunking, which is why source blocks are persisted and chunks reference them. It also carries the maintainer's own correction — the README's traceability claim ran ahead of the code — as a standing commitment rather than a footnote.
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.
What does this PR do?
Adds
PRODUCT.md, the product record the impeccable workflow reads. It is a new top-level document next toDESIGN.md; the two are deliberately separate —DESIGN.mdowns the visual system,PRODUCT.mdowns product truth.Why?
impeccable contextreports:Narrow refinements are allowed to proceed without it, which is how the last four PRs got through. But any new surface or redesign is blocked: the agent has no record of who the product is for, what it must not claim, or what evidence exists, so it would be inventing all of it.
Important: this was not written from an interview
The init flow requires a discovery interview, and I asked the three questions in the previous message. The answer was "just do it". So this file is written from the repository, and it says so in a provenance block at the top. Concretely:
DESIGN.md,CONTRIBUTING.md,package.json.[inferred], and the header tells the next reader to confirm or correct those before treating them as settled.Please correct this file rather than living with a wrong guess in it. It is the record every later design round will read.
What it records
web— an Electron shell, so the interface is drawn by a web engine;adaptivewould be wrong because the design language does not switch per OS. Shipped artifacts being Windows/macOS-only is recorded under Operating Context as a release-pipeline fact, not a platform fact.DESIGN.md+check:designas the interface authority.Open questions this file does not answer
QuizPage,AnkiPage,QuizServiceandAnkiCardServiceare implemented in the renderer and main process. Which statement is current decides whether those surfaces get promoted or hidden.hover/selected/focus-visible/disabledon every interactive surface, both themes usable, state never carried by colour alone, the keyboard path [UX] Workspace shell & IA: Library → Reading/Chat → Notes as one workflow #65 requires) is recorded as fact; the target standard is recorded as undecided.Notes
buildPathis recorded.impeccable contextreports no image generation in this tool surface, and the init reference is explicit that without image generation there is no choice to record — silence is the correct outcome, not an omission..impeccable/config.jsonis created. Live mode is skipped:impeccable liveis web-only and this is an Electron app.How was this tested?
impeccable contextnow resolvesPRODUCT.mdand reportsplatform: web;NO_PRODUCT_MDandBUILD_INIT_REQUIREDare gone.impeccable doctor --json—productPathandplatformresolve, and no new findings are introduced. The one remaining finding is the pre-existingdesign-md-coverageonDESIGN.md, described below.npx prettier --check PRODUCT.md— clean.One finding this PR does not fix
impeccable doctorstill reportsdesign-md-coverage(severity: mention): "DESIGN.md has no colors, typography, components section."That is a heading-name mismatch, not missing content — the content exists under
## Surfaces,## Type scale and text hierarchyand## Component recipes. The offered fix is/impeccable document, which regeneratesDESIGN.mdfrom the code and would replace a hand-authored document that four PRs have been editing, so I did not run it unilaterally. Two options if you want the check to pass:/impeccable documentand review the diff carefully, ordocumentdecide nothing else).Checklist
npm run typecheckpasses. (no code touched)npm run buildpasses. (no code touched)Desktop / build changes