Skip to content

feat: security review capability — security skill, security-flow, plugin sync, docs - #163

Merged
isolomatov-gd merged 5 commits into
mainfrom
docs/security-capability-docs
Jul 30, 2026
Merged

feat: security review capability — security skill, security-flow, plugin sync, docs#163
isolomatov-gd merged 5 commits into
mainfrom
docs/security-capability-docs

Conversation

@isolomatov-gd

@isolomatov-gd isolomatov-gd commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Delivers Rosetta's security review capability to origin/main, plus the documentation and drift fixes found while evaluating and testing it.

Closes #135

382 files, +12,164 / −157. Three commits:

Commit Payload
1bf76147 security skill + eight-phase security-flow in instructions/r3/core, synced into all 7 plugin targets
971ae22e plugin title version fix + coding-agents-prompt-authoring brevity tweak (unrelated; was already in local main ahead of origin/main)
7501c1b0 documentation for the capability, plus drift fixes and a load-project-context refresh

The capability

skills/security/ — one reusable skill covering software, infrastructure, platforms, interfaces, hosts, and AI systems. 18 assets routed by area (architecture, code, packages, IaC, containers, Kubernetes, cloud, API, web DAST, gateways, DNS recon, network pentest, exfiltration, host compliance, LLM/AI, GUI-bot recommendation, secret families, security-secret-scan.sh) and 7 templates (report, findings, run, evidence envelope, remediation task, task index, threat model).

workflows/security-flow.md + 8 phase files — Readiness → Authorize → Deterministic gates → Model and select → Inspect and test → Normalize and triage → Independent review → Report and package. The orchestrator reads only security-flow.md and dispatches each phase via the INVOKE SUBAGENT <name>APPLY PHASE <file>.md contract; phase files are assigned-subagent-only, every declared subagent is mandatory, and full agents run their own approved tools rather than routing through executor.

Non-negotiable guards

  • Filename-only secret gate runs before any target content enters model context. DEV/QA hits require approval after recommended exclusions; above-QA or ambiguous hits stop the review non-overridably.
  • Active testing only within explicitly approved pre-production bounds. Production active/offensive/mutating/fuzz/exploit/DAST/network/exfiltration testing is prohibited; read-only production inspection needs explicit approval, least privilege, and stop conditions.
  • Source findings preserved losslessly; material high+ stays unverified without a second signal.
  • Independent review is mandatory before reporting.
  • Remediation is out of scope — the flow emits concise task inputs for a later user-invoked coding flow and never starts, coordinates, or validates fixes.

Also in 1bf76147: hitl/SKILL.md and bootstrap-alwayson.md touch-ups, coding-agents-prompt-authoring guidance, docs/definitions/{skills,workflows}.md registration, agents/MEMORY.md entries, and the generated mirrors under plugins/.

Documentation

  • README.md, OVERVIEW.md, FAQ.md, USAGE_GUIDE.md, docs/ARCHITECTURE.md, docs/CODEMAP.md and their docs/web/ mirrors: security-flow among request types, security among the useful skills, counts corrected to 38 skills / 13 workflow types.
  • New docs/web/docs/security-flow.md — full workflow page, plus the Security Review sidebar link in docs/web/_layouts/docs.html without which the page was unreachable from nav.
  • llms-full.txt/security-flow entry in §9 and security in §10. This is the file README.md points AI agents at, so it was the largest gap.
  • agents/IMPLEMENTATION.md — capability recorded under Major Implemented Workstreams.

Drift fixed while evaluating

  • docs/CODEMAP.md — the r3 workflows listing omitted help-flow.md, ui-aqa-flow.md, api-aqa-flow.md; now 16 files / 13 request types with a note on the router and the deprecated alias. Rules count corrected from 9 to the actual 5.
  • docs/PATTERNS/shell-proxy-pattern.md — command shell count.
  • load-project-contextdocs/CONTEXT.md and docs/ARCHITECTURE.md now read in full with the header grep over the remaining roster; roster accepts area-scoped docs/[<area>-]CONTEXT.md / -ARCHITECTURE.md. Fixed a broken grep invocation (missing space after the quoted pattern made it swallow the first path and read stdin) and restored docs/ prefixes. Skill README updated to match.

Verification

  • bash src/run-tests.sh exit 0 — full suite green (rosettify 1087, rosettify-plugins 485, rosettify-prompts 96, plus the Python suites).
  • Plugins regenerated with npx -y rosettify-plugins@latest --release r3 --deterministic-hooks false; the only new propagation was load-project-context, confirming the security files already match generator output.
  • Counts checked against disk: 38 skill folders, 10 agents, 16 workflow files, 5 rules, 8 configure files, 18 security assets, 7 security templates.

🤖 Generated with Claude Code

Public and AI-facing docs for the `security` skill and `security-flow`
added in 1bf7614, plus fixes to drift found while evaluating them.

Security capability docs:
- README, OVERVIEW, FAQ, USAGE_GUIDE, ARCHITECTURE, CODEMAP and their
  docs/web mirrors: security-flow listed among request types, `security`
  among useful skills, counts corrected to 38 skills / 13 workflow types.
- New docs/web/docs/security-flow.md — full workflow page (phases,
  subagent contract, secret gate, active-test bounds, artifacts).
- docs/web/_layouts/docs.html — Security Review sidebar link, without
  which the new page is unreachable from nav.
- llms-full.txt — /security-flow entry in the workflows section,
  `security` in the skills section, stale counts corrected.
- agents/IMPLEMENTATION.md — security capability under Major Implemented
  Workstreams (assets, templates, guards, remediation boundary).

Drift fixes:
- docs/CODEMAP.md — r3 workflows listing was missing help-flow,
  ui-aqa-flow and api-aqa-flow; now 16 files / 13 request types with the
  router-and-alias note. Rules count corrected from 9 to the actual 5.
- docs/PATTERNS/shell-proxy-pattern.md — command shell count.

load-project-context skill:
- CONTEXT.md and ARCHITECTURE.md are now read in full; the header grep
  covers the remaining roster docs. Roster entries accept optional
  area-scoped `docs/[<area>-]CONTEXT.md` / `-ARCHITECTURE.md`.
- Fixed the grep invocation (missing space after the pattern made it
  swallow the first path and read stdin) and restored `docs/` prefixes.
- README.md mechanics updated to match.
- Plugins regenerated from r3 core via rosettify-plugins (all 7 targets).

Relates to #135

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@isolomatov-gd

Copy link
Copy Markdown
Contributor Author

Verification: full repo suite green on this branch — bash src/run-tests.sh exit 0 (rosetta-mcp-server, rosetta-cli, curiocity, rosettify 1087 tests, rosettify-plugins 485 tests, rosettify-prompts 96 tests). The Injected processor failure for test and [hard] core-antigravity: Missing 3 bundle file(s) lines in the output are expected fixtures from the plugin-generator tests, not failures.

@github-actions github-actions Bot added documentation Improvements or additions to documentation enhancement New feature or request labels Jul 28, 2026
@isolomatov-gd isolomatov-gd changed the title docs: document security review capability (#135) feat: security review capability — security skill, security-flow, plugin sync, docs Jul 28, 2026
@isolomatov-gd isolomatov-gd self-assigned this Jul 28, 2026
Comment thread instructions/r3/core/workflows/security-flow.md Outdated
Comment thread instructions/r3/core/workflows/security-flow.md Outdated
Comment thread instructions/r3/core/workflows/security-flow.md Outdated
Comment thread instructions/r3/core/workflows/security-flow.md Outdated
Comment thread instructions/r3/core/workflows/security-flow.md Outdated

@YevheniiaLementova YevheniiaLementova left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've left a few comments, but otherwise it looks good to me.

@isolomatov-gd
isolomatov-gd dismissed YevheniiaLementova’s stale review July 29, 2026 11:01

The merge-base changed after approval.

isolomatov-gd and others added 4 commits July 29, 2026 15:46
…tion, contracts

Resolve reviewer comments and prompt-quality findings on the security review
capability, plus the alias grammar needed to express scoped phase dispatch.

Alias grammar (docs/ARCHITECTURE.md + mirrors):
- Document three APPLY PHASE forms: bare, STEP <names/ids>, and the
  USE FLOW ... TO APPLY PHASE and INVOKE SUBAGENT ... to APPLY PHASE composites.

security-flow:
- Prerequisites become a real phase 0 block; phases renumbered 1-8 so the flow
  and the security skill's overall_flow share one scheme.
- Add load-project-context to prerequisites, matching every other root flow.
- Require security-flow-state.md and update it in every phase.
- Scope the two repeated dispatches with STEP; replace bare cross-phase numbers
  with phase names.
- Emit discrete branch tokens; add STOP-SCANNER-UNUSABLE to readiness.
- Move user-facing approval out of phase files: subagents surface and return,
  the orchestrator owns the hitl gate.
- Bound correction loops and add a scope-change path.
- Area bundles run parallel on disjoint work.

security skill:
- Execute the fallback scanner with APPLY SKILL FILE, not READ, and define its
  exit-code contract (0 = filename list, 2 = unusable, stop).
- Add a templates section so all seven output templates have a load path.
- Keep raw scanner output under <run-id>/raw/, never committed and never
  deleted on the user's behalf.
- Drop the canonical-subagent name from pitfalls to restore skill isolation.
- Rewrite README to the six-section schema; drop the dangling trace line.
- Add evidence contracts to dns-recon, network-pentest, web-dast, and secrets;
  harden web-dast persistence with a cleanup-proof requirement.
- Align disposition spelling across templates, define the finding-to-envelope
  join, and bind the task INDEX approval block to the real gate.

load-project-context:
- Scope the never-whole-file rule to grepped files and correct the README
  summary line. CONTEXT.md and ARCHITECTURE.md stay fully read: they carry the
  catalog of area docs that step 3 then reads selectively.

Docs: security-flow page, USAGE_GUIDE, usage-guide mirror, and llms-full.txt
updated to the 1-8 numbering and the revised mechanics.

Plugin targets are not regenerated in this commit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
docs/reviews/DOC-STRUCTURE-PLAN.md described llms-full.txt as "generated by the
build pipeline from all human docs (no manual facts)". It is manually
maintained: .github/workflows/pages.yml only copies it to docs/web/, no
generator references it, and its history is hand edits in feature commits. The
claim invited treating hand-written content as disposable, so both the Structure
and Sources lines now state that it is AI-documented from the human docs and
must be kept current by hand.

Also records the merge-main lesson behind the fix: verify any incoming
"generated / auto-built" claim against the build config before trusting it.

Plugin targets regenerated for the instruction changes in 01f677c across all
seven targets.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: isolomatov-gd <isolomatov@griddynamics.com>
@isolomatov-gd
isolomatov-gd merged commit c8b6151 into main Jul 30, 2026
4 of 5 checks passed
@isolomatov-gd
isolomatov-gd deleted the docs/security-capability-docs branch July 30, 2026 13:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Evaluate security capabilities of Rosetta including use of security tools and harnesses like semgrep, VVAH

2 participants