dogfood-report-template.md
97 lines · skills/ce-dogfood/references/dogfood-report-template.md at 3449230
Most marks come from matching words in the file, so treat them as pointers.
Dogfood Report — <branch>
Diff-scoped browser QA of<branch>vs the trunk. Generated byce-dogfoodon <YYYY-MM-DD>.
<!-- Use repo-relative paths throughout this doc, never absolute paths, so it stays portable. --> <!-- This template is the source of truth for the report's sections; build the report to this shape rather than from memory. -->
Raw lines 1 to 7Diff Summary
<What changed between the branch and main: new features, modified behavior, new/changed routes, views, components, data flows. 2-6 bullets.>
Raw lines 8 to 11Personas
<The primary personas the flows were judged against, and what each cares about. Note the source: a Compound Pack rule cited as (pack: <id>, <path within the pack>), STRATEGY.md or PRODUCT.md "Users" ("Who it's for" in older strategy files), VISION.md, a persona doc, or "inferred" if none existed. Resolver warnings or errors from pack discovery, and "packs unresolved" when the resolver could not run, are noted here once.>
- <Persona name> — <job-to-be-done / what they care about> — <source>
Flows Tested
<One Mermaid flowchart per distinct user journey the diff touches. Include happy path and branch points (validation error, empty, permission-denied), side effects (emails, jobs, notifications), and the true end state — including click-through destinations.>
flowchart TD
A[Entry point] --> B[User action]
B --> C{Branch point?}
C -->|No| D[Error / empty / denied state]
C -->|Yes| E[Result + side effects]
E --> F[True end state]Raw lines 18 to 30Test Matrix & Results
| # | Flow | Journey / Scenario | Status | Issue | Fix | Commit |
|---|---|---|---|---|---|---|
| 1 | Pass | - | - | - | ||
| 2 | Fixed | abc123 | ||||
| 3 | Blocked (needs human verify) | - |
Status values: Pending, Pass, Fixed, Skipped, Blocked (needs human verify), Blocked (human decision). Start every scenario at Pending so this table doubles as the resume checkpoint. Commit is the fix commit on a Fixed row and - otherwise.
Pack Compliance
<One line per pack criterion that matched a flow in Phase 1, with its verdict: honored, contradicted (fixed <commit>, or escalated as a stale-rule decision below), or not exercised (no scenario reached it). "None" when the repo declares no packs or none matched.>
(pack: <id>, <path within the pack>)— <rule title> — <honored / contradicted (fixed<commit>or escalated) / not exercised> — <scenario #s>
<Short issue title> — <commit>
- Symptom: <what the user saw / what failed in the browser>
- Root cause: <why it happened>
- Fix: <what changed, repo-relative file paths>
- Regression test: <test added that fails before / passes after — or, for a pure copy/visual fix, the browser-replay/screenshot check used and why no automated test was meaningful>
Paper Cuts (by persona)
<Experiential friction found while walking each flow as each persona. A scenario can Pass functionally and still carry paper cuts. Note the persona, severity, and whether it was fixed (sharp ones, via the Phase 5 loop) or deferred. "None" if clean.>
- <Persona> — <paper cut> — <severity> — <fixed
<commit>/ deferred>
Console Errors
<Any console or network errors observed, and whether they were resolved. "None" if clean.>
Raw lines 63 to 66Human Verifications
<Outside-service legs (OAuth, email delivery, payments, SMS, third-party APIs) the branch changed: covered by a local stand-in, pending a person's check (say what to check), or not applicable because the branch did not touch them.>
Raw lines 67 to 70Decisions for a Human
<Issues too big or ambiguous to fix autonomously — architectural/schema changes, product/UX trade-offs, competing solutions. One block each. The matrix marks these Blocked (human decision). "None" if every issue was safely auto-fixed.>
<Short title>
- What's broken: <symptom / failing scenario>
- Why escalated: <why it's not a safe autonomous fix — scope, risk, ambiguity, product trade-off>
- Options: <option A (trade-offs) / option B (trade-offs)>
- Recommendation: <the agent's suggested direction, for the human to confirm>
Stale rule: <rule title> (pack: <id>, <path within the pack>)
- What the rule says: <quoted rule text>
- What the branch does instead, and why: <the intended behavior and the evidence it is intentional — plan, PR description, commit history>
- Options: refine the rule (writable pack: through
ce-compound; git-sourced pack: upstream change and arefbump) / retire it - Recommendation: <refine or retire, and the wording if refine>
Learnings
<Reusable lessons worth carrying forward — patterns, gotchas, product/UX insights. Feed substantial ones to ce-compound.>
Pack candidates
<Judgments from this run that generalize beyond the branch and are prescriptive-shaped — a paper cut any screen would give a persona, a check every scenario of this kind should pass — that were not yet routed through ce-compound (non-interactive run, or the author deferred). One line each, with the pack it would refine when there is one. "None" when every candidate was routed or none arose.>
Final Status
<Overall readiness verdict for the branch. Ready to ship? Caveats? Outstanding blocked items? Record the result of the Phase 5 automated test suite run — a green matrix with a red suite is not "ready." Name the browsers the environment offered, the one the run used, and why. State once what the local environment replaced (seeded auth, fixture providers, simulated payments) and which claims that leaves unproven.>
Raw lines 95 to 97