Skip to content

feat(plugin): split compliance-posture into 3 plugins (#256) - #264

Merged
HongmingWang-Rabbit merged 1 commit into
mainfrom
feat/plugin-compliance-posture-split
Apr 15, 2026
Merged

feat(plugin): split compliance-posture into 3 plugins (#256)#264
HongmingWang-Rabbit merged 1 commit into
mainfrom
feat/plugin-compliance-posture-split

Conversation

@HongmingWang-Rabbit

Copy link
Copy Markdown
Contributor

Closes #256. Per CEO direction, shipping three separate opt-in plugins instead of one bundled `compliance-posture`.

Rationale

The three builtin_tools files that #256 proposed bundling aren't tightly coupled — `compliance.py` (OWASP runtime policy), `audit.py` (append-only log for EU AI Act), and `security_scan.py` (supply-chain CVE gate) each make sense independently. Bundling would force every workspace that wants, say, CVE scanning to also carry OWASP runtime checks and a JSONL audit file path. Granular installs keep the footprint honest.

What ships

Plugin Wraps Skill Focus
`molecule-compliance` compliance.py `owasp-agentic` Runtime OWASP OA-01 + OA-03
`molecule-audit` audit.py `ai-act-audit-log` EU AI Act record-keeping (JSONL)
`molecule-security-scan` security_scan.py `skill-cve-gate` Snyk / pip-audit on skill deps

Each plugin has:

  • `plugin.yaml` manifest
  • One `SKILL.md` documenting: when to install, when to skip, config shape, anti-patterns, cross-references to the other two plugins

Cross-plugin story

Install all three for a coherent compliance posture:

  • `molecule-compliance` catches OWASP violations at runtime
  • `molecule-security-scan` blocks known-bad skill deps at load time
  • `molecule-audit` records the events from both into a tamper-evident log

Install just one — e.g. only `molecule-audit` on a tenant that handles regulated data but trusts its agents — and the other two remain available for later.

No Python code

All implementation already exists in `workspace-template/builtin_tools/`. This PR is pure manifest + skill documentation. Same pattern as `molecule-hitl` (#262).

Test plan

  • Manifest YAML structure matches existing molecule-* plugins
  • Skill frontmatter name matches directory
  • Install one plugin on a test workspace via `POST /workspaces/:id/plugins`, verify runtime picks it up
  • Configure the corresponding `config.yaml` block, verify the builtin activates
  • Verify audit events land when all three plugins installed together

Related

🤖 Generated with Claude Code

Closes #256. Per CEO direction, shipping three separate opt-in plugins
instead of one bundled "compliance-posture" — keeps installs granular
so a workspace that only wants CVE scanning doesn't carry OWASP policy
or append-only audit retention.

- plugins/molecule-compliance/        — wraps compliance.py (OWASP OA-01
  prompt injection + OA-03 excessive agency). Skill: owasp-agentic.
- plugins/molecule-audit/              — wraps audit.py (EU AI Act Art.
  12/13/17 append-only JSONL log, SIEM-friendly). Skill: ai-act-audit-log.
- plugins/molecule-security-scan/      — wraps security_scan.py (Snyk or
  pip-audit CVE gate on skill requirements.txt). Skill: skill-cve-gate.

Each plugin ships a manifest + one SKILL.md with:
- When to install / when to skip
- Configuration shape (config.yaml blocks)
- Anti-patterns to avoid
- Cross-references to the other two plugins so an operator can reason
  about the full compliance surface

All three wrap code that already exists in workspace-template/builtin_tools/
— no Python changes. Install per workspace via
POST /workspaces/:id/plugins {"source":"builtin://molecule-<name>"}.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

Plugin proposal: molecule-compliance-posture — wraps compliance.py + audit.py + security_scan.py for Security Auditor / Backend Engineer

1 participant