feat: security review capability — security skill, security-flow, plugin sync, docs - #163
Merged
Merged
Conversation
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
requested review from
YevheniiaLementova and
omaiesh
as code owners
July 28, 2026 18:25
Contributor
Author
|
Verification: full repo suite green on this branch — |
YevheniiaLementova
previously approved these changes
Jul 29, 2026
YevheniiaLementova
left a comment
Contributor
There was a problem hiding this comment.
I've left a few comments, but otherwise it looks good to me.
isolomatov-gd
dismissed
YevheniiaLementova’s stale review
July 29, 2026 11:01
The merge-base changed after approval.
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
1bf76147securityskill + eight-phasesecurity-flowininstructions/r3/core, synced into all 7 plugin targets971ae22ecoding-agents-prompt-authoringbrevity tweak (unrelated; was already in localmainahead oforigin/main)7501c1b0load-project-contextrefreshThe 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 onlysecurity-flow.mdand dispatches each phase via theINVOKE SUBAGENT <name>→APPLY PHASE <file>.mdcontract; phase files are assigned-subagent-only, every declared subagent is mandatory, and full agents run their own approved tools rather than routing throughexecutor.Non-negotiable guards
Also in
1bf76147:hitl/SKILL.mdandbootstrap-alwayson.mdtouch-ups,coding-agents-prompt-authoringguidance,docs/definitions/{skills,workflows}.mdregistration,agents/MEMORY.mdentries, and the generated mirrors underplugins/.Documentation
README.md,OVERVIEW.md,FAQ.md,USAGE_GUIDE.md,docs/ARCHITECTURE.md,docs/CODEMAP.mdand theirdocs/web/mirrors:security-flowamong request types,securityamong the useful skills, counts corrected to 38 skills / 13 workflow types.docs/web/docs/security-flow.md— full workflow page, plus theSecurity Reviewsidebar link indocs/web/_layouts/docs.htmlwithout which the page was unreachable from nav.llms-full.txt—/security-flowentry in §9 andsecurityin §10. This is the fileREADME.mdpoints 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 omittedhelp-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-context—docs/CONTEXT.mdanddocs/ARCHITECTURE.mdnow read in full with the header grep over the remaining roster; roster accepts area-scopeddocs/[<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 restoreddocs/prefixes. Skill README updated to match.Verification
bash src/run-tests.shexit 0 — full suite green (rosettify 1087, rosettify-plugins 485, rosettify-prompts 96, plus the Python suites).npx -y rosettify-plugins@latest --release r3 --deterministic-hooks false; the only new propagation wasload-project-context, confirming the security files already match generator output.🤖 Generated with Claude Code