Files
acdl/mcp/atelier/vendor/review/agent-checklist.md
T
Jon Chery 8bcf7296d5 feat(P5): Atelier MCP server + vendored Atelier + plugin-registry (REQ-223, REQ-224, REQ-225)
REQ-223: mcp/atelier/server.py plugin-registry MCP server (stdio, D-135).
NovaAtelierServer wraps MCPServer (SDK v2, D-137) if installed; degrades
to _ToolRegistry fallback if SDK absent (testable in CI without SDK).
plugins/principles.py (lookup_principle, list_domains, matrix_lookup) +
plugins/validation.py (validate_against_principles — agentic validation
beyond Wiz/Checkmarx/Mend). 4 tools, 2 plugins.

REQ-224: mcp/atelier/vendor/ pinned Atelier v0.3.6 (D-136) — core/
first-principles, domains/security/first-principles, review/agent-checklist,
matrix/principles-matrix. vendor/VERSION.md + scripts/update_atelier_vendor.sh
for intentional upgrades. mcp/atelier/README.md (tools, architecture,
running, vendoring, extensibility, transport).

REQ-225: tests/test_atelier_mcp.py — 16 tests, all pass. Covers: plugin
discovery (both loaded), 4 tools registered, lookup_security_P4 (+P1,
unknown domain/principle), list_domains (19, security-relevant, ui-ux-not),
matrix_lookup (security 10 P-rules, unknown), validation (good-passes,
bad-secret-fails, bad-swallowed-error-fails, bad-obfuscated-names-fails,
result-structure).

---ci---
project: acdl
phase: 5
milestone: v1.18
status: execute
requirements:
  covered: [REQ-223, REQ-224, REQ-225]
  partial: []
---/ci---
2026-08-06 15:13:40 +00:00

1.7 KiB
Raw Blame History

Agent Pre-Completion Checklist (Vendored)

Every AI agent runs this checklist before completing a task.

Core Principles Checklist (C1C8)

C1 Correctness

  • Does the code do what the task asked, completely?
  • Does it handle the specified edge cases? (nulls, empties, max, min)
  • Does it handle the failure cases? (errors, timeouts, invalid input)
  • Is there a test that would fail if the code were wrong?

C2 Clarity

  • Can a stranger read this and understand it without asking you?
  • Are names intent-revealing? (No data, temp, x, doStuff)
  • Do comments explain why, not what?

C3 Simplicity

  • Is this the simplest solution that is complete?
  • Is there dead code? (Unreachable branches, unused variables)
  • Is there premature abstraction? (An interface with one implementation)

C4 Locality

  • Does related logic live together?
  • Are side effects near their causes?

C5 Reversibility

  • Is this change undoable? (migration has a down, deploy has a rollback)
  • Did I avoid irreversible actions without explicit confirmation?

C6 Composability

  • Does this component/function do one thing?
  • Is the boundary (props/args/return) explicit and typed?

C7 Observability

  • Are there logs for significant events?
  • Do errors carry enough context to debug? (request ID, user, action)
  • Are there no secrets in logs?

C8 Economy

  • Is memory bounded? (No unbounded growth, no loading everything)
  • Is time bounded? (No N+1, no blocking without timeout)

Domain-Specific (Security)

  • No secrets in code, logs, URLs, or error messages
  • Input is validated at the boundary
  • Output is encoded for its context
  • Crypto uses vetted libraries (no MD5/SHA1 for security)
  • Authorization is checked, not assumed