Skip to content

Latest commit

 

History

History

README.md

Behavioral tests

Gherkin scenarios that describe what an agent perceives and can do through git-blinder-mcp — never the implementation details.

Reading the features

CLI / wired (features/cli/, features/support/)

Executable contracts driven by the CLI and in-process server. These track the implemented design.

File Contract area
cli/01_serve.feature serve ; health /mcp ; POST /mcp 405 ; /mcp/root tools
cli/02_perimeter.feature perimeter create / list / show / id validation
cli/03_perimeter_mcp.feature /mcp/<id> binding, scoped tools/list ; ops /mcp/root
cli/04_branches.feature operator branches list
cli/05_repos.feature operator repos list
cli/06_perimeter_branches.feature perimeter branch allowlist
cli/07_mcp_branch_binding.feature /mcp/<id>/<branch> + forced ref
cli/08_commit_history.feature filtered perimeter commits list|show
support/01_api_perimeters.feature REST /api/perimeters + Bearer 401 + reserved root

Agent contracts (features/0*.feature)

Same design, phrased from the agent’s point of view. Driven by agent.ts against the in-process server + mock GitHub.

File Contract area Notes
01_tools.feature tool grants; branch tools never exposed wired
02_paths.feature path-scoped read / write on bound branch wired
03_branches.feature URL branch binding; forced ref wired
04_history.feature filtered list_commits / get_commit wired
05_writes.feature push_files enforcement reject paths wired; success @wip (mock writes)
06_concurrency.feature parallel agents connect/read wired; write cross-leak @wip

Fixture

All scenarios share the fake repository acme/platform. See support/world.md.

Running

npm run test:features                 # all non-@wip features
npm run test:features -- features/cli/
npm run test:features:wip             # remaining gaps (mock writes, …)

Tags:

  • @core — blocks release
  • @concurrency — parallel sessions
  • @wip — excluded from default run (needs mock git writes, etc.)
  • @support — internal API harness