Skip to content

Install LDD: a LOGIC.md beside every source file and directory - #1773

Merged
brillout merged 24 commits into
mainfrom
claude/nice-einstein-g4wfd8
Sep 10, 2026
Merged

Install LDD: a LOGIC.md beside every source file and directory#1773
brillout merged 24 commits into
mainfrom
claude/nice-einstein-g4wfd8

Conversation

@brillout

@brillout brillout commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

What

Installs Logic-Driven Development per the logic-driven-development skill: a LOGIC.md describing the business logic of each file and directory containing source code, written for the technical product manager who never reads the code.

  • some-file.extsome-file.LOGIC.md, some-dir/some-dir/LOGIC.md, across the whole monorepo: the product, the driver seam, the agent-data library, the four skills, the Chrome extension, the website, the prompts, the GitHub workflows.
  • Written fresh from the code, not converted from any earlier documentation. Every file was read in full; a test file gets a "What the tests cover" list of the behaviors its tests pin, never how they work.
  • One vocabulary across every file (agent, coding agent, driver, turn, gate, pick, handoff, checkout, location, the agent-data branch, sweep, routine, quota boundary, …), each file carrying a glossary of the coined terms it uses.
  • A directory's LOGIC.md tells its subsystem's story and names every file under it exactly once. Files with no business logic (build and test-runner configuration, styling, static assets) are named there instead of getting one of their own.

Coverage

source files documented 637
directories documented 45

Notes

No source file is modified. Two other changes make the installation coherent: the prompt compiler skips LOGIC.md beside a prompt as it skipped SPEC.md before it, and the framework package's README points readers at LOGIC.md instead of files that no longer exist.

🤖 Generated with Claude Code

https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB

…ress)

Logic-Driven Development per the logic-driven-development skill: a LOGIC.md
describing the business logic of each file and directory containing source
code, written fresh from the code for the technical product manager.

This commit carries the root and packages-level files and the first slices;
the remaining slices follow on this branch.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
The prompt compiler skips README.md and the LOGIC.md beside each prompt (and
the directory's own), as it skipped the SPEC.md docs before them. Also carries
the LOGIC.md files written since the previous commit.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB

Copy link
Copy Markdown
Contributor Author

The build check failed once on commit 321dcb8 and is not being fixed here, because the failure is not this branch's.

  • That commit's diff over its parent is 37 LOGIC.md files and nothing else: no source, config or test file changed, so no test behavior could change with it.
  • The same build check passes on the current head, whose tree contains those 37 files plus more, and pnpm build && pnpm typecheck && pnpm test passes locally on this branch.
  • The failing run reported fail 1 alongside cancelled 1 with a total suite duration of 60.4s against the suite's own 60s per-test timeout, which is the shape of a timeout on a loaded runner rather than an assertion.

No re-run was spent on it: the head has since moved on, and the later green run of the same check on a superset of the same files is the confirmation a re-run would have given. No fix exists to port, and none is needed. I am still watching this pull request and will act on any failure on a current head.


Generated by Claude Code

…ard and the website's landing page

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
The wording is made consistent where writers had drifted: the noun for
handing a task to a cloud session no longer collides with the handoff
ladder, user-facing labels are quoted, and three directory files gained
the TL;DR bullets their sections were missing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Every file and directory holding source code now has a LOGIC.md describing
the business logic it implements, written for a reader who never opens the
code: 637 file-level documents and 45 directory ones, from the root story
of the product down to each leaf.

The files share one vocabulary, so a term means the same thing everywhere,
and each names the coined terms it uses in its own glossary. A directory's
document tells its subsystem's story and names every file under it exactly
once. A test file's document says what its tests cover, never how they work.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
The paragraph still sent a reader to a SPEC.md beside every source file and
to one at the package root. Those files are gone; a LOGIC.md now sits beside
every source file and directory, so the pointer names that instead.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YcSwKgtQE6ndJYjdDitVFB
@brillout
brillout merged commit 3458b27 into main Sep 10, 2026
2 checks passed
@brillout
brillout deleted the claude/nice-einstein-g4wfd8 branch September 10, 2026 11:45

Copy link
Copy Markdown
Contributor Author

Correcting one sentence in my earlier comment on this pull request: I wrote that pnpm build && pnpm typecheck && pnpm test passes locally on this branch. Build and typecheck do; the test suite does not. Two tests fail in the sandbox I ran them in, both asserting that a process was reaped:

  • browser.test.ts — "the real sweep kills a browser process init inherited, and spares one a live agent holds"
  • daemon-runtime.test.ts — "terminate reaps the whole process group of an agent that ignores SIGTERM, browser included"

Both fail on process-group semantics this sandbox does not reproduce, and one timing-sensitive daemon-clock test failed once more under load. They are not this branch's: apart from LOGIC.md files the branch changed only the prompt compiler's exclusion of LOGIC.md and a README pointer, and the build check passed on GitHub's runners for these same commits.

The conclusion of that comment is unaffected — it rested on the documentation-only diff and on the later green runs of the same check — but the evidence line was wrong as written.


Generated by Claude Code

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.

2 participants