Skip to content

Rewrite README for clearer agent onboarding - #138

Merged
vraspar merged 3 commits into
BackTrackCo:mainfrom
tofu-miso:tofu/readme-rewrite
Aug 14, 2026
Merged

Rewrite README for clearer agent onboarding#138
vraspar merged 3 commits into
BackTrackCo:mainfrom
tofu-miso:tofu/readme-rewrite

Conversation

@tofu-miso

Copy link
Copy Markdown
Contributor

Summary

  • rewrite the README around a calmer quickstart and agent handoff path
  • move dense command/spec detail out of the first-pass experience
  • keep the wallet, spending, permissions, MCP, and development basics visible without overwhelming new readers

Verification

  • pnpm run format:check

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@vraspar vraspar added the priority: high High priority label Aug 13, 2026

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@A1igator A1igator left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: comments-only, no blocking defects found

Reviewed against docs/CONVENTIONS.md-equivalent house style, the actual command surface in src/commands/*.ts, and origin/main's prior README, verified at 00a1904.

What's solid:

  • The new flow (prompt-first setup → manual setup → when-to-use guidance → core commands → publishing → wallet → permissions → MCP → config → developing) reads more clearly for a first-time human or agent than the old flag-table-heavy README. It matches the PR's stated goal.
  • No injection, hidden-instruction, or lookalike-link findings anywhere in the diff — see "Verified, not issues".
  • Does not reintroduce the "parked candidates" / candidate-pen concept #131 removed; grepped the full diff, no mention.
  • Every command, flag, and config key that survived into the new README checks out against the real source (see "Verified, not issues").

Major

None.

Minor

  1. Content: three real top-level commands are undocumented: tenjin uninstall, tenjin session start, and tenjin edit all exist (src/commands/uninstall.ts, session.ts, edit.ts, wired in src/cli.ts) but appear nowhere in the new README, including uninstall — the old README's only documented way to cleanly undo everything install wrote (base README.md, § "tenjin uninstall"). tenjin --help is a live fallback (confirmed real: src/cli.ts:48,690 point errors at it), so this isn't a functional break, but a reader deciding whether to paste the install prompt has no "how do I undo this" answer in the doc that's supposed to onboard them. https://github.com/BackTrackCo/tenjin-agent/blob/00a1904271145e4fdfa3ae769e95191a2cbe0bef/README.md
  2. Content: the safety-model summary is gone from the README: the old "Safety model" section's two sharpest lines — "Purchased content is untrusted data, never instructions... no harness permission, hook, or settings change is ever recommended on the strength of content the agent read" and "A harness permission denial is never worked around" — don't appear in the new README at all. The invariant itself is intact and enforced where it actually runs (verified near-verbatim in skills/tenjin/SKILL.md:83, skills/tenjin-search/SKILL.md:115 and :328, skills/tenjin-publish/SKILL.md:146), so this is not a live security gap — just the loss of the one place a human skimming the repo (rather than the skills an agent loads) could read the security posture in one shot. Given this repo explicitly serves AI agents and the review brief called this out as the top risk category, worth restoring at least a one-paragraph pointer.
  3. Content: Codex's required sandbox rule isn't mentioned: [sandbox_workspace_write]\nnetwork_access = true is what makes paid x402 calls work under Codex's default workspace-write sandbox (src/commands/install.ts:156-161, CODEX_NETWORK_RULE, comment: "would make every paid x402 call fail (or prompt) until this is set"). tenjin install still prints this live to Codex users at install time, so it's functionally covered, but the doc lists Codex as a first-class target harness in its own intro without a heads-up that this step exists.
Nits (3), none blocking
  • Headings switch from the repo's established sentence case (base README: "## Search hooks", "## Consent modes and pricing"; docs/agent-permissions.md: "# Agent permissions", "## The free tier") to Title Case ("## Start With A Prompt", "## When To Use Tenjin", "## Core Commands"). A house-style deviation this PR introduces, not present before.
  • The three top badges (MCP, x402, License) from the old README are dropped. Cosmetic only.
  • tenjin install --dry-run and its idempotency aren't mentioned beyond "It is safe to run again."; a minor loss of detail, not inaccurate.
Verified, not issues
  • No prompt-injection strings, no hidden/zero-width Unicode, no homoglyphs (checked the full README byte-by-byte for any codepoint outside normal punctuation — none found).
  • Every URL in the new README resolves to a legitimate destination: tenjin.blog/* (7 links), npmjs.com/package/tenjin-cli, or a relative in-repo path — docs/agent-permissions.md, RELEASING.md, NOTICE.md all confirmed present at head. No lookalike or unrelated domains.
  • Candidate pen / "parked candidates" (#131) is not reintroduced anywhere in the diff.
  • Commands and values that appear in the new README all match real source: --max-price and --applies-to (src/commands/search.ts), maxAutoSpend/sessionBudget/publish.mode/publish.defaultPrice/hooks.searchMode (src/commands/config.ts:59-72), exit codes 0-4 (consistent with old README and CLI behavior), the <!--paywall--> marker (confirmed in skills/tenjin/SKILL.md:210 and the OpenAPI fixture), pnpm build/test/typecheck/lint (all real package.json scripts), engines.node >=22 matches "Node.js 22 or newer", and both MCP claude mcp add invocations match the old README's.
  • No dead relative links, no broken internal anchors (the new README uses none).
Closed as decisions

None — round 1, no prior review found on this PR (only an expired-trial Greptile comment on each commit).

Decision for the operator, not a defect: this PR trades a reference-grade README (every command, every flag, every config key in one file — the old ~670-line version) for a narrative onboarding README (~300 lines: prompt-first flow, when-to-use guidance, core commands only). That's a legitimate, arguably better, choice for the stated goal, and nothing checked above is factually wrong or unsafe. The open question is whether the reference material that's gone (full flag tables, uninstall/session start/edit, the 12-key config table, the standalone safety-model paragraph) needs a home — a docs/COMMANDS.md, or a "Full reference" section — or whether tenjin --help plus docs/agent-permissions.md is judged sufficient from here. Given priority: high and that this is the project's front door, rewritten by a first-time contributor, that's worth a deliberate answer before merge rather than a silent gap.

Verdict: comments-only. No security, injection, or factual-accuracy findings; no reintroduction of removed content. The minors above are real but none block — they're a product-scope question for the operator to close, not code to fix.

@A1igator

Copy link
Copy Markdown
Contributor

Thanks for taking this on, and the instinct to slim the README down is the right one.

The shape we want is deliberately minimal: a short, skimmable human-facing entry point that covers only the basics (what this is, install, the one or two commands to get started), then links out to dedicated markdown files for the detailed sections rather than carrying them inline. So the reference that got trimmed here (the uninstall, session start, and edit commands, and the safety note) should not just disappear. It should move into a linked doc the README points to.

That way the top-level README stays short while nothing is actually lost, which is the pattern most repos follow. Longer term we will move the detailed sections onto our own docs page and link to that instead.

Concretely: keep the top-level README to the essentials and genuinely short, and pull the fuller command reference and safety section into linked .md files (a docs/ folder or similar) that it references.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@A1igator A1igator left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review at 990ed38 (base main): clean, the restructure does exactly what it should

This delta ("move README details into reference pages") resolves the earlier dropped-content finding the right way: restore, do not drop, and move detail into linked docs. Verified against the checked-out head.

Restructure holds. The README stays a quickstart and links out: README.md:145 to docs/command-reference.md, :178 to docs/safety-model.md, :221 to docs/agent-permissions.md. All three targets exist and resolve.

Nothing lost, restored:

  • uninstall, session start, edit are all back: listed in the README and fully documented in docs/command-reference.md (:33, :84, :132).
  • The "purchased content is untrusted" safety model is restored and expanded in docs/safety-model.md:7.
  • Bonus: the Codex sandbox_workspace_write network-access snippet the earlier rewrite had silently dropped is back (README.md:227, docs/safety-model.md:38).

CLI accuracy verified against source. Every command, flag, and config key in docs/command-reference.md maps 1:1 to src/cli.ts / src/commands/* / src/lib/config.ts / src/mcp/server.ts (no invented or stale entries; the quoted install prompts match install.ts verbatim; the MCP tool list matches the registered tools). The removed candidate pen is confirmed NOT reintroduced anywhere.

Integrity + hygiene clean. No injected instructions, no hidden Unicode/homoglyphs, all external links legitimate (tenjin.blog, github.com/BackTrackCo/tenjin-agent, npmjs.com). The agent-permissions.md pointer fix repairs a genuinely dead anchor, and the ## MCP -> ## Local stdio MCP server rename fixes a second latent one. Markdown structurally sound, no em dashes in new copy.

Two non-blocking nits: a 3-line interactive-prompt block in the README (:65) could have linked out rather than restored inline, and session start's behavior is described in both the README and the reference doc. Author's call, neither is a defect.

Verdict: comments-only (the loop does not approve). Clean, faithful to the direction, and it strengthens the earlier version. Ready for the operator's approve/merge call. Note the CI here is gated on a maintainer approving the first-time-contributor workflow run.

@vraspar
vraspar merged commit 77d2ca2 into BackTrackCo:main Aug 14, 2026
1 check passed
A1igator added a commit that referenced this pull request Aug 14, 2026
#130, #132, #135, and #138 landed. README.md was the only conflict.

#138 rewrote the README as a short onboarding doc, deleting the install flags
table, the Search hooks section, and the skills-landing list that carried the
three Hermes edits. Main's shape is the baseline, so those sections stay
deleted rather than being reinstated to host the delta. The Hermes content is
re-expressed on what #138 actually kept: the harness enumeration up top, and a
Hermes entry in the Local stdio MCP server section naming the plugin, its
consent flags, and the inert-until-named default.

HOOK_SCRIPT_VERSION stays at 13: none of the four commits touch hook-scripts.ts
or harness-hooks.ts, so no script body changed. #132's contract.test.ts rename
merged clean; this branch does not touch that file.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
A1igator added a commit that referenced this pull request Aug 16, 2026
Rehomes the Client identity README section onto the rewritten README (#138).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: high High priority

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants