Skip to content

docs(compliance): bundle stance declarations #220 + #225 + #226#240

Merged
Knapp-Kevin merged 2 commits into
devfrom
220-225-226-compliance-stance-docs-bundle
May 6, 2026
Merged

docs(compliance): bundle stance declarations #220 + #225 + #226#240
Knapp-Kevin merged 2 commits into
devfrom
220-225-226-compliance-stance-docs-bundle

Conversation

@Knapp-Kevin

Copy link
Copy Markdown
Collaborator

Summary

Three compliance-posture stance declarations bundled. Closes:

Plan / Audit

What ships

File Closes Surface
docs/policies/host-trust-model.md #220 server-side guarantees vs host-side surfaces; per-host operator checklist (Claude Code / Cursor / Codex / generic)
docs/policies/acceptable-use.md #225 intended purpose + 4 prohibited-use categories + cross-framework mapping table
docs/sla.md #226 operator-run-only active commitment + future-hosted-tier activation requirements (locks the upgrade path)
README.md (cross-reference) new "Compliance posture" section linking all 3 policy docs + research brief
docs/research-brief-compliance-audit-2026-05-06.md (gap closures) "Status (2026-05-06): Closed by ..." pointers on MCP-01, NIST-RMF-01, AI-ACT-02, SOC2-02
tests/test_compliance_policy_docs.py 5 functional content-contract tests

Test plan

  • 5 content-contract tests pass
  • No code surface change; full regression unaffected
  • ruff check + ruff format --check clean (no Python file changes)
  • All 4 gap IDs cross-referenced bidirectionally (gap → policy doc; policy doc → gap)

Doctrine interpretation locked

For markdown policy artifacts, the test-functionality acceptance question resolves: the unit IS the document content; read_text() + assert "<commitment>" in content is genuine unit invocation per qor/references/doctrine-test-functionality.md. The doctrine's <substring> in <file_text> flag applies only when the substring is a proxy for testing a SEPARATE unit; here the doc IS the unit, so the file-read is genuine invocation.

Disjoint from in-flight PRs

This PR's surface (docs/policies/, docs/sla.md, README addition, research brief edits, new test file) is fully disjoint from #237 (cosign + SBOM), #238 (ingest middleware bundle), and #239 (preflight regex) — no merge conflict risk.

🤖 Generated with Claude Code

Knapp-Kevin and others added 2 commits May 6, 2026 19:52
Plan for the three compliance-posture stance declarations:
- #220 / MCP-01: MCP host UX dependency (OWASP LLM-07)
- #225 / NIST-RMF-01 + AI-ACT-02: prohibited-uses declaration
- #226 / SOC2-02: availability stance (operator-run-only)

All three bundle naturally because they share docs/policies/ + a single
README cross-reference section. Pure-doc surface fully disjoint from
in-flight code PRs (#237, #238, #239) — safe as a parallel PR.

Audit: round 1 PASS (L1, doc-only). Doctrine interpretation locked:
for markdown policy artifacts, the unit IS the document content;
read_text() + assert "<commitment>" in content is genuine unit
invocation per qor/references/doctrine-test-functionality.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… tests (#220 #225 #226)

Three new policy documents declaring bicameral-mcp's compliance posture:

- docs/policies/host-trust-model.md (closes #220 / MCP-01) — declares
  what's enforced server-side vs. what depends on host UX (tool-call
  visibility, denial path, stdio surfacing, mid-call intervention,
  destructive-action confirmation surface). Per-host operator checklist
  for Claude Code / Cursor / Codex / generic-host. Cross-reference to
  the #217 epic that adds an out-of-band confirmation primitive.

- docs/policies/acceptable-use.md (closes #225 / NIST-RMF-01 + AI-ACT-02)
  — declares intended purpose (limited-risk decision-support for
  software engineering) and four prohibited-use categories: HR/legal/
  medical/financial substitution, regulated-data ingestion (PHI/PAN/etc),
  multi-tenant deployment without auth shim, automated decisions
  without HITL. Cross-framework mapping table.

- docs/sla.md (closes #226 / SOC2-02) — declares operator-run-only as
  the active commitment (no uptime/MTTR/support targets). Activation
  requirements section locks the future-hosted-tier upgrade path so a
  hosted offering cannot ship without the SLA section being filled in.

README.md gets a "Compliance posture" section linking all three policy
docs + the research brief.

docs/research-brief-compliance-audit-2026-05-06.md gets gap-status
pointers marking MCP-01, NIST-RMF-01, AI-ACT-02, SOC2-02 as closed by
their respective policy docs (bidirectional cross-reference).

5 functional content-contract tests verify each load-bearing section
and cross-link is present; per the test-functionality doctrine, these
are genuine unit invocation against doc content (the unit IS the doc).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented May 6, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: c38f5fbf-7028-4502-849e-da247fccca00

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 220-225-226-compliance-stance-docs-bundle

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Knapp-Kevin Knapp-Kevin merged commit 5184ec2 into dev May 6, 2026
6 checks passed
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