Dogfood Graph is a LastDB-native app for managing manual product dogfooding.
It models expected UX as a versioned DAG of user-visible states, actions, and branch options. Dogfood sessions record what humans actually observed while walking the product, including screenshots and annotations. The app then compares expected behavior against actual evidence and produces a structured diff.
Dogfood Graph does not automate product testing. It manages the goal state, the observed state, and the evidence needed to decide whether the product, the expectation, or the dogfood path needs to change.
- Goal state: the intended UX DAG for a feature, release gate, or workflow.
- UX nodes: screens, actions, choices, system states, and terminal states.
- UX edges: user options or system transitions between nodes.
- Dogfood sessions: human runs against a specific goal revision.
- Observations: actual state, action, result, verdict, notes, and evidence.
- Screenshots: attached image evidence with non-destructive annotations.
- Diffs: expected-vs-actual deltas grouped by severity and next action.
The first implementation should focus on:
- App-local LastDB schemas for flows, goal revisions, nodes, edges, sessions, observations, screenshots, annotations, and DAG change proposals.
- A DAG editor for defining expected user paths and branching options.
- A session runner for recording actual dogfood evidence.
- Screenshot attachment and annotation support.
- Diff generation between a dogfood session and the goal revision it ran against.
- Controlled DAG updates from user-authored change proposals.
This repo contains the initial public app scaffold. Implementation planning is tracked in F-Brain and executable PR-sized work is tracked in F-Kanban.
The canonical repository is lastdb:///dogfood-graph. GitHub
EdgeVector/dogfood-graph is a public read-only mirror; review artifacts should
be LastGit change requests gated by .lastgit/ci.sh.
Requirements:
- Node.js 22 or newer
- npm 10 or newer
Install dependencies:
npm installStart the development server:
npm run devRun the validation suite:
npm run lint
npm run typecheck
npm test
npm run buildValidate repository bootstrap guidance and local Git credential hygiene:
npm run verify:repo-bootstrapSee EdgeVector Repo Bootstrap before creating or seeding new public EdgeVector repositories.
- Vite for the local dev server and production build
- React with TypeScript for the UI
- Vitest and Testing Library for component tests
- ESLint for static checks
- GitHub Actions for CI on pull requests and pushes to
main