refactor: rename Effort Graph paths to Proof - #243
Conversation
Move all public packages to 1.0.0, align package metadata, and add the release license.\n\nLead the public docs with Effort Graph agent memory while keeping static relational content and GraphQL read paths clear. Add concise release notes and record the positioning decision in the Effort Graph.\n\nTest plan: pnpm verify; package tarball and clean-install smoke tests. Change-Id: I3b53d7e244cc251ce9968b3578fabeabcc96298f
Drop unused Apollo 3 and GraphQL server packages from the stable package. Update Apollo Server, GraphQL, and lodash-es to supported releases, and keep test-only picomatch out of the published runtime set.\n\nTest plan: pnpm verify; clean tarball install; npm audit and CLI smoke checks. Change-Id: Ib49018eafae4ef88cbbd3975f8149b2102ac1f3f
Update GraphQL Code Generator and esbuild to supported releases without changing generated output. Trim Proof's npm payload to its bins and built files.\n\nTest plan: pnpm verify; package audits; Proof pack and CLI smoke checks. Change-Id: I69eee15141a4d6332f504bee70f4b533d076e077
Use GraphQL's public types in emitted declarations and declare vfile as a runtime dependency because the public API exposes VFile. Add checks that prevent private GraphQL paths and missing declaration dependencies from returning.\n\nTest plan: pnpm verify; strict clean-consumer TypeScript compile. Change-Id: I3f66f068fa24441f598224f2cfbbec48e722695c
Document the unresolved audit chains in Proof and resolver-svimg. The main Flatbread install remains clean. Change-Id: I4230756307f943c0e72610c25b0c86b625f05ab6
Proof now lives at https://github.com/FlatbreadLabs/proof. Remove the @flatbread/proof workspace package, its Cursor skills, and monorepo build/test/docs wiring. Re-home the cloud-agent fetch script and its AVA test under scripts/ so pnpm run cursor:fetch-cloud-agent still works. Co-authored-by: Cursor <cursoragent@cursor.com> Change-Id: I915065dc779e700b8254835e679486bb2d789363
Delete the proof-runtime-skeptic agent (runtime no longer lives here). Point the code-review orchestrator, architecture planner, and major-migration skill at the external @flatbread/proof CLI. Keep Flatbread-specific DAG templates under .cursor/dags/flatbread/ with a short README for how to run them. Co-authored-by: Cursor <cursoragent@cursor.com> Change-Id: Id40e6118c97414ccc958e4997e52c000ed639291
Move the memory package, graph root, skills, and CLI/explorer files onto Proof names so the product rename can land next. Co-authored-by: Cursor <cursoragent@cursor.com> Change-Id: I529a8212a755685a9b8fa4bd3a7d5eaa1fa16704
|
This pull request is part of a Mergify stack:
|
Regenerate the lockfile for packages/proof and update import, skill, and tsconfig paths so the directory rename installs and builds on its own. Change-Id: I658f2349329425ba6f121012f332d900b6db97b5
173e300 to
8840cc9
Compare
There was a problem hiding this comment.
Review verdict
BLOCK — Dogfood graph data moved to .flatbread-proof/** while effortGraphContent() / DEFAULT_GRAPH_ROOT / flatbread.config.js still target .flatbread-efforts, so GraphQL, CLI, and explorer read an empty tree; green tests lock the wrong root.
Chunk-bound feedback
- BLOCKER (consensus, 5/5) — Align preset default (
packages/proof/src/preset.ts), CLIDEFAULT_GRAPH_ROOT(packages/flatbread/src/cli/proof.ts), andflatbread.config.jswith.flatbread-proof; update.gitignorejournal rule. - BLOCKER — Retarget
proofComposition.test.ts(and preset/CLI fixtures) from.flatbread-effortsto.flatbread-proof. - HIGH —
packages/proof/README.mdandskills/proof/setup.mdstill teachpackages/effort-graph/skills/effort-graphinstall URLs after the path rename. - HIGH —
packages/proof/skills/effort-modeling/SKILL.mdlinks../effort-graph/reference.md(dead); point at../proof/reference.md.
Intentional deferrals (not defects): npm name @flatbread/effort-graph, EffortGraph symbols, CLI verb effort, explorer preset id effort-graph.
Coverage plan
preset.test.ts— positive: default paths use.flatbread-proof/...proofComposition.test.ts— positive:rootDirends with.flatbread-proofproof.test.ts— positive/edge: bootstrap/DEFAULT_GRAPH_ROOTfollow.flatbread-proof- Dogfood config smoke — edge: content resolves
.flatbread-proof/** skills.test.ts— positive: sync defaults + managed nameproofpack-skills.test.js— negative: setup/README must not citepackages/effort-graph/skills/effort-graph; edge: relative skill links resolve
Reviewer scoreboard
- correctness-and-contracts: signal HIGH
- test-coverage-robustness: signal HIGH
- docs-and-positioning: signal HIGH
- cli-and-runtime: signal MED
- explorer-package: signal MED (in-hunk explorer paths clean)
Models: grok-4.5 high / composer-2.5. External @flatbread/proof CLI unavailable (private/404); ran parallel perspective subagents + judge. Judge: /tmp/review-judge-final.md.
Sent by Cursor Automation: Flatbread PR Review
| listEfforts, | ||
| } from '../effort/read.js'; | ||
| } from '../proof/read.js'; | ||
| import type { PrimitiveKind, ReadRelation } from '@flatbread/effort-graph'; |
There was a problem hiding this comment.
BLOCKER (consensus, 5/5): This PR renames .flatbread-efforts/** → .flatbread-proof/** (only .flatbread-proof exists on disk), but DEFAULT_GRAPH_ROOT in this file is still .flatbread-efforts, and packages/proof/src/preset.ts / flatbread.config.js still default there too.
flatbread start / flatbread effort / explorer dogfood therefore read an empty tree.
Minimal fix: set preset + CLI defaults to .flatbread-proof (or effortGraphContent('.flatbread-proof') in config), and update the .gitignore journal rule to **/.flatbread-proof/.journal/.
| } from '@flatbread/core'; | ||
| import { createEffortGraphComposition } from './effortGraphComposition.js'; | ||
| import { createEffortGraphComposition } from './proofComposition.js'; | ||
|
|
There was a problem hiding this comment.
BLOCKER: This suite still asserts rootDir under .flatbread-efforts (see assertion later in the file) while dogfood journals live under .flatbread-proof. Green CI locks the old contract and misses the empty-graph break.
Minimal fix: retarget the assertion (and preset/CLI fixtures) to .flatbread-proof in lockstep with the runtime default.
| repositoryRoot, | ||
| 'packages/effort-graph/skills/effort-graph' | ||
| 'packages/proof/skills/proof' | ||
| ); |
There was a problem hiding this comment.
HIGH: Sync defaults correctly target packages/proof/skills/proof and .agents/skills/proof, but packages/proof/README.md and skills/proof/setup.md (R100, content unchanged) still teach packages/effort-graph/skills/effort-graph install URLs — those paths no longer exist.
Minimal fix: rewrite install/relative paths to packages/proof/skills/proof and .agents/skills/proof/, then re-run pnpm skills:sync.
| const entry = canonicalTexts.find( | ||
| ({ path }) => path === 'skills/effort-graph/release.json' | ||
| ({ path }) => path === 'skills/proof/release.json' | ||
| ); |
There was a problem hiding this comment.
HIGH: Pack now expects skills/proof/release.json, but README still links skills/effort-graph/*, and packages/proof/skills/effort-modeling/SKILL.md still links ../effort-graph/reference.md (dead after the directory rename).
Minimal fix: update README skill paths; change the effort-modeling link to ../proof/reference.md; add a pack/skills assert that packaged relative links resolve.
| const run = promisify(execFile); | ||
| const script = resolve('packages/effort-graph/scripts/sync-skills.mjs'); | ||
| const script = resolve('packages/proof/scripts/sync-skills.mjs'); | ||
|
|
There was a problem hiding this comment.
MED (coverage): Path to the sync script was updated, but this test only drives --source/--destination overrides. It never locks defaultSource, defaultDestination, or managed skill name proof from sync-skills.mjs.
Minimal fix: import those exports and assert packages/proof/skills/proof, .agents/skills/proof, and managed name proof.
| 'skills/proof/SKILL.md', | ||
| 'skills/proof/reference.md', | ||
| 'skills/proof/setup.md', | ||
| ]; |
There was a problem hiding this comment.
MED (coverage): Canonical file list correctly moved to skills/proof/*, but nothing fails if setup/README still cite packages/effort-graph or if cross-skill relative links break.
Minimal fix: negative assert setup/README avoid packages/effort-graph/skills/effort-graph; edge assert packaged relative links resolve on disk (incl. effort-modeling → ../proof/reference.md).


Move the memory package, graph root, skills, and CLI/explorer files onto Proof names so the product rename can land next.
Co-authored-by: Cursor cursoragent@cursor.com
Depends-On: #242