Skip to content

docs: add concrete agent-failure example to README#100

Merged
constk merged 2 commits into
developfrom
docs/91-agent-failure-example
May 26, 2026
Merged

docs: add concrete agent-failure example to README#100
constk merged 2 commits into
developfrom
docs/91-agent-failure-example

Conversation

@constk
Copy link
Copy Markdown
Owner

@constk constk commented May 25, 2026

What & why

Adds a 3-line blockquoted sidebar to the "Why a harness" section in README.md demonstrating one realistic agent-failure path: a reverse import from src.models into src.tools, caught by the lint-imports "src.models depends on nothing in src/" contract, routed through docs/BOUNDARIES.md. The example names a real gate, cites the real contract, and links the real doc, so a reader can verify the failure mode is genuine.

Closes #91.

Test plan

  • Visual diff only on README.md "Why a harness" section
  • Pre-commit hooks pass

Invariants affected

None — references existing invariant (one-way layer flow) but adds no new rule.

New deps / actions / external surface

None.

Linked issue

Closes #91

constk added a commit that referenced this pull request May 26, 2026
pip-audit on develop is flagging two transitive-dep CVEs:

- idna 3.13            CVE-2026-45409   (fix in 3.15+)
- starlette 1.0.0      PYSEC-2026-161   (fix in 1.0.1+)

Both are surfaced via fastapi/httpx. Bumps via:

    uv lock --upgrade-package idna --upgrade-package starlette

Resolves to idna 3.16 (3.15 was the listed fix; 3.16 is a further
patch with the same fix) and starlette 1.1.0 (minor bump; FastAPI is
compatible with it). All 192 unit tests pass on the upgraded lock.

Bumps the project self-version 0.2.10 -> 0.2.11 per
docs/DEVELOPMENT.md.

Unblocks the pip-audit CI gate on #99, #100, #101, #102 (and any
other PRs currently sitting on develop), all of which inherit the
flagged transitive CVEs from develop and cannot pass that gate until
this lands.
constk added a commit that referenced this pull request May 26, 2026
…sed post-#103/#104)

main moved ahead of develop on 2026-05-25 when PR #86 was merged
directly to main rather than via develop -> release flow. The
divergence is one squash commit (eff5b1c) carrying:

  - docs/BEADS.md (optional Beads issue-queue guidance)
  - .github/pull_request_template.md (Beads PR-template block)
  - .github/scripts/check_aspirational_tickets.py (PEP 758 reformat)
  - .github/scripts/check_pin_freshness.py / check_tests_present.py /
    check_version_bump.py (touch-ups)
  - .gitattributes / .gitignore (.beads/ ignore, Windows renormalise)
  - CONTRIBUTING.md (line-ending normalisation)
  - tests/test_scripts_compile.py (new CI-script compile gate)
  - docs/DEVELOPMENT.md / docs/HARNESS.md / docs/HARNESS_PRIMER.md
    cross-refs
  - pyproject.toml + uv.lock self-version 0.2.10 -> 0.2.11

This PR was rebased after #103 (CVE fix, develop -> 0.2.11) and
#104 (eval pattern examples, develop -> 0.2.12) merged. The version
on main (0.2.11) is now behind develop (0.2.12); the conflict is
resolved by bumping develop -> 0.2.13.

After this lands, develop is at 0.2.13 and contains everything main
has. Remaining in-flight PRs (#99, #100, #101, #105) need to rebase
to bump 0.2.13 -> 0.2.14 (and onward sequentially as they merge).

No behaviour change beyond what #86 already added to main.

# Conflicts:
#	pyproject.toml
#	uv.lock
constk added 2 commits May 26, 2026 15:34
The "harness IS the product" claim reads abstract without a worked
example. Adds a blockquoted, 3-line sidebar inside the "Why a harness"
section showing one realistic failure mode: an agent reaches for a
reverse import (src.models → src.tools), import-linter blocks it in CI
against the "src.models depends on nothing in src/" contract, the
agent's next iteration routes around it via docs/BOUNDARIES.md.

Names a real gate, cites the real contract, links the real doc — so
the example is verifiable, not theatre.

Closes #91
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