aboutsummaryrefslogtreecommitdiff
path: root/docs/ARCHITECTURE.md
AgeCommit message (Collapse)Author
2026-08-02docs: remove the docs/ folderamankumarsingh77
The plans, specs, and audit reports under docs/superpowers/ described work that has since landed, and ARCHITECTURE.md duplicated what the boundary scanner and the tool contract already enforce in code. CONTRIBUTING.md now points at the source that enforces each rule instead of at prose about it. .gitignore keeps docs/ ignored so local scratch docs stay out of the repo. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-02refactor: merge nine files whose reason to exist was goneamankumarsingh77
src/ goes from 84 files to 75 at the same line count — every merge below had exactly one consumer. cdp/event-queue.ts and cdp/pending-requests.ts become daemon/queue.ts. I split these in the daemon-internals commit on the grounds that they held two unrelated concerns, but the transport commit had already deleted the second transport, so both halves had one consumer and the split bought nothing. They also sat in cdp/ while only daemon/ used them. cdp/transport.ts held only the CdpTransport interface after the second transport went; five of its six consumers import it type-only, so it moves to cdp/types.ts. cdp/evaluate.ts moves into cdp/session.ts rather than into its lone consumer isolated-tab.ts — it reaches session.call directly, so under src/domains/ it would trip the raw-cdp-call rule. util/keycodes.ts and util/time.ts fold into their only callers (keyboard.ts, page.ts); util/bytes.ts into util/truncate.ts, which already owns output-size formatting; readpage/capture.ts and search/extract.ts into the tools beside them; profile/picker.ts into profile/command.ts. Kept deliberately: mutex.ts and domains/target.ts each have their own test suite, and folding target.ts into click.ts would make a tool file export a helper. sharp-shim.ts is an isolation boundary carrying two allowlisted casts. result.ts, guards.ts, js-template.ts and paths.ts are small but have 44, 12, 8 and 3 consumers. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-02docs: record the new contract and the two knobs that now workamankumarsingh77
ARCHITECTURE.md: the layer map gains domains/cdp-call.ts as the single door and the helper-module/tool-module split; the "cdpCall vs session.call" section is replaced, since snapshot.ts no longer mixes styles — it swallows failures through cdpCall instead of around it. Rule 1 now says tool files export only tools, rule 7 names the enforced scanner rules, and the two 250-line exceptions are recorded as largely settled (snapshot 477 to 256, form 409 to 283). Also notes the one honest gap: session.attach and session.windowId perform CDP calls the rules do not match. README: BU_CDP_WS carries its daemon-restart caveat, BH_DEBUG_CLICKS is documented as the flag's equivalent, and the tool count matches the registry (38 to 40). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-02feat!: remove the deep-research featureamankumarsingh77
The harness ships browser tools; orchestrating a multi-agent research workflow on top of them is the agent's job, not this extension's. Drops the skill, the /deep-research command, and the web-search-researcher subagent config. browser_web_search and browser_read_page are untouched — the two tests that covered their pure parsers move to test/domains/, where the test glob still picks them up. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-02docs: document the layer rules and tool authoring contractamankumarsingh77
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>