Skip to content

Re-aim the contract: CLI-first, Tyto-owned Chromium - #2

Closed
rvegajr wants to merge 1 commit into
mainfrom
docs/cli-first-contract
Closed

rvegajr wants to merge 1 commit into
mainfrom
docs/cli-first-contract

Conversation

@rvegajr

@rvegajr rvegajr commented Sep 29, 2026

Copy link
Copy Markdown
Member

What

Rewrites the product contract around the new direction:

  • Tyto provisions its own pinned Chromium (Chrome for Testing), downloaded and checksum-verified on first run. No installed Chrome, no extension, no fork.
  • The tyto CLI is the primary client. Every DevTools capability is a command with --json output: pages, snapshot, trusted input, console, network, cookies, storage, and raw CDP.
  • Full owner access, scoped.
    • The CLI holds a power token for POWER_METHODS.
    • Perch and MCP keep a safe token and PERCH_SAFE_METHODS.
    • Secret values are masked unless the request asks reveal: true. Revealed values are never persisted or sent to the model.
  • ATTACH (extension) and the identity vault are deferred, not deleted. The dedicated profile is how you stay logged in.

Files

  • docs/SPEC.md: draft 2.
  • docs/IMPLEMENTATION.md:
    • new ports (§3.8);
    • Slices 15–19: host hardening and token scopes, Chromium provisioning, CLI and daemon, power surface, loop completeness;
    • a revised phase map;
    • a twelve-item definition of done;
    • fixes to its own drift (nonexistent test:* scripts, missing fixtures, "six" vs. ten items, --no-confirm).
  • docs/DESIGN.md: draft 3 summary, corrected --remote-debugging-address, new control-plane diagram and build order.
  • README.md, docs/USAGE.md:
    • honest "works today / not yet" split;
    • removes claims that aren't true today: assistant replies, Perch resume, the runner preflight, nightly Tier 4, CI on every push, and .env token reuse;
    • states the actual Node requirement (jsdom needs 24.15+ or 26).
  • Rules (.claude/rules, .cursor/rules), AGENTS.md, CONTRIBUTING.md, extension/README.md: updated for token scopes and masked-by-default secrets.

Docs only, no behavior change. npm run check is green on Node 26 (247 tests).

Known red CI

main is already red on gitleaks. It flags the MV3 "key" (a public key) in commit 811e0fa, which lives only on the unmerged ci-deploy branch; gitleaks scans all fetched history. The Slice 15 PR fixes this with a fingerprint allowlist.

🤖 Generated with Claude Code

SPEC draft 2: Tyto provisions a pinned Chrome for Testing build and exposes
every DevTools capability (pages, input, console, network, cookies,
storage, raw CDP) as `tyto` commands. No extension required. ATTACH and the
identity vault are deferred, not deleted.

Owner access is full but scoped: the CLI holds a power token for
POWER_METHODS; Perch and MCP keep the safe token and PERCH_SAFE_METHODS.
Secret values are masked unless the request says reveal, and revealed
values are never persisted or sent to the model.

IMPLEMENTATION gains Slices 15-19 (host hardening, provisioning, CLI, power
surface, loop completeness), new ports, and a twelve-item definition of
done. README and USAGE now state what runs today versus what is planned.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@rvegajr

rvegajr commented Sep 29, 2026

Copy link
Copy Markdown
Member Author

Closing: we chose agent-browser instead of building Tyto's own browser stack. Decision, measurements, and the CI fix are in #4. The commits stay reachable from this PR.

@rvegajr rvegajr closed this Sep 29, 2026
@rvegajr
rvegajr deleted the docs/cli-first-contract branch September 29, 2026 20:01
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.

1 participant