Skip to content

docs(readme): lead the v2.0 section with what it does for you, cut the rest - #261

Merged
killertcell428 merged 1 commit into
masterfrom
claude/readme-v2-clarification-ccaa61
Aug 25, 2026
Merged

docs(readme): lead the v2.0 section with what it does for you, cut the rest#261
killertcell428 merged 1 commit into
masterfrom
claude/readme-v2-clarification-ccaa61

Conversation

@killertcell428

Copy link
Copy Markdown
Owner

Summary

The v2.0 section explained how aigis profile build works before saying why anyone would run it, so an IT/platform reader skimming the README could not tell what they gained. This rewrites that section around the outcome, cuts three sub-sections that were too detailed for a README, and makes "Why Aigis?" answer why an input/output filter misses the three agent-specific attacks instead of just naming them.

Documentation only — no code changes. Both README.md and README.ja.md stay in sync.

Changes

  • v2.0 section rewritten. Opens with the problem (two hand-written config files per team; Claude Code evaluates its own permission rules before the hook, and the two formats differ, so one is always stale), then the two commands, then four concrete outcomes. The two design-choice paragraphs (shell has no allowlist, git has three values) move into a <details> block — kept, off the main line.
  • Numbers re-measured against aigis profile build profiles/marketing.json: 15-line role file → 191-line policy (30 rules) + 26 Claude Code permission rules, 10 not expressible.
  • Corrected an inaccurate claim. profile build prints excluded rule IDs only; the why: / fix: lines come from aigis settings. The README said profile build printed a reason and a hand-written alternative for each.
  • v1.2 section shrunk to a heading, one paragraph and the GIF, now that v2.0 is the headline feature.
  • "Two layers" / "The audit gap" / "The key's location" collapsed into one section with a new #audit-key anchor; detail moved to links into docs/adoption/. The IT-question table's [details] link is repointed at the new anchor.
  • "Why an independent OSS layer" removed. The acquisition list is still in the FAQ, which is where a reader asking that question looks. The trust-pack / adoption links below it are kept.
  • "Why Aigis?" rewritten. Each of the three attacks now says why a perfect input/output filter does not see it — the MCP tool definition is read as an instruction, the planted memory fires in a later session with no attacker input present, the retrieved page was never typed by the user. The attack-surface table moves below the three scenarios.
  • Qiita article table dropped from README.ja.md. The English README never had it, and it sat between the benchmarks link and Contributing.

Type of change

  • Documentation update

Testing

  • pytest tests/ -v passes locally — not run; no code changed
  • Every internal link and anchor in both READMEs verified to resolve (including the new #audit-key and the repointed table link)
  • Every quoted number reproduced by actually running the CLI (see below)

Checklist

  • I have read CONTRIBUTING.md
  • CHANGELOG.md updated under [Unreleased] — not applicable, README-only change

Screenshots / output

$ aigis profile build profiles/marketing.json
Profile: Marketing
  web       read          Can fetch web pages and search the web
  files     workspace     Can read and write inside the working directory
  shell     none          Cannot run shell commands
  git       none          Cannot use git
  packages  none          Cannot install dependencies
  mcp       approved      Can use MCP servers the administrator listed

  Wrote aigis-policy.yaml (30 rules)
  Wrote .claude/settings.json (26 permission rules)

  10 policy rule(s) could not be expressed as Claude Code
  permissions. The Aigis hook still enforces them:
    [dangerous_format] shell:exec  *mkfs*  -> deny
    ...

wc -l: profiles/marketing.json 15 · generated aigis-policy.yaml 191.

🤖 Generated with Claude Code

…e rest

The v2.0 section explained how profile build works before saying why anyone
would run it, so a platform lead skimming the README could not tell what they
gained. It now opens with the problem (two hand-written config files per team,
Claude Code's rules evaluated before the hook, so one of them is always stale),
shows the two commands, and lists four concrete outcomes. The two design-choice
paragraphs (no allowlist for shell, three values for git) move into a details
block — kept, but off the main line.

Also:

- Drop the Qiita article table from README.ja.md. The English README never had
  it, and it sat between the benchmarks link and Contributing where nobody
  reading for evaluation would want it.
- Shrink the v1.2 section to a heading, one paragraph and the GIF, now that
  v2.0 is the headline feature.
- Collapse "Two layers", "The audit gap" and "The key's location" into one
  section with a new #audit-key anchor, and point the detail at
  docs/adoption/. The IT-question table link is repointed at the new anchor.
- Remove "Why an independent OSS layer". The acquisition list is still in the
  FAQ, which is where a reader asking that question looks.
- Rewrite "Why Aigis?" so each of the three agent-specific attacks says why an
  input/output filter does not see it: the MCP definition is read as an
  instruction, the planted memory fires in a later session with no attacker
  input present, the retrieved page was never typed by the user. The attack-
  surface table moves below them.

Numbers re-measured against `aigis profile build profiles/marketing.json`:
15-line role, 191-line policy, 30 rules, 26 permission rules, 10 not
expressible. Corrected the claim that profile build prints a reason and an
alternative per excluded rule — it prints rule IDs; `aigis settings` prints
why/fix.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: killertcell428 <killertcell428@gmail.com>
@killertcell428
killertcell428 merged commit f93eff3 into master Aug 25, 2026
11 checks passed
@killertcell428
killertcell428 deleted the claude/readme-v2-clarification-ccaa61 branch August 25, 2026 08:54
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