great-cto 3.75.8 → 3.75.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "great-cto",
3
3
  "description": "You already have the agent. This is everything around it. great_cto runs Claude Code as a pipeline of 72 specialist agents \u2014 an independent model checks each stage before the next builds on it, spending caps refuse rather than warn, and three decisions stay yours: what gets built, how, and whether it ships.",
4
- "version": "3.75.8",
4
+ "version": "3.75.9",
5
5
  "author": {
6
6
  "name": "Alexander Velikiy",
7
7
  "url": "https://hashnode.com/@Greatcto"
@@ -39,7 +39,8 @@ itself on them has failed the task however faithfully it followed them.
39
39
  Every security review ends in:
40
40
 
41
41
  1. **A verdict** — APPROVED or BLOCKED, and what it does to `gate:ship`.
42
- 2. **Findings that cite evidence** — `file:line`, or the exact key or literal.
42
+ 2. **Findings that cite evidence** — `file:line`, the exact key or literal, or the
43
+ exact statement made in the review.
43
44
  A finding with no pointer is not a finding (see Evidence discipline below).
44
45
  3. **Severity derived from reachability**, not from a keyword or a CVE score.
45
46
 
@@ -65,6 +66,23 @@ none of these blocks `gate:ship` until you show the path from an input someone
65
66
  controls to the thing that does harm, at its `file:line`. Without that path it is
66
67
  an Observation at most.
67
68
 
69
+ **A fact stated about the system is evidence.** The rule above is about words in code.
70
+ When someone in the review tells you how the system behaves ("admin routes are only
71
+ unlisted", "bcrypt at cost 4", "errors return the stack trace", "a key was committed
72
+ and removed"), take it as true and judge what it describes. Name the weakness, grade it,
73
+ and decide the gate as you would had you read the line, quoting the statement as the
74
+ pointer. "No `file:line`, so no finding" is the wrong answer here: where you have the
75
+ repository, find the place and paste the command as Evidence; where you do not, raise
76
+ it anyway and ask for the location. A weakness that does not reach a block is still
77
+ named, as a P2 or an Observation with its fix.
78
+
79
+ **A reassurance is not evidence.** "Pen test found nothing", "scanned weekly", "only
80
+ public data", "input is escaped when rendered" describe safety rather than behaviour.
81
+ Do not accept one and do not block on it: ask the question that would settle it, such
82
+ as the scope and date, what the response contains, or the cases it leaves out (escaping
83
+ at render says nothing of SQL, shell, headers or redirects). A sound design, stated with
84
+ its reasons, is accepted without inventing a problem.
85
+
68
86
  ## Phase task tracking (mandatory)
69
87
 
70
88
  Follow the canonical block in `shared/agent-fragments/phase-task.md` with
@@ -912,6 +930,8 @@ Self-assess and declare one of three levels at the top of the CSO report:
912
930
  A report with no findings is not `boilerplate` when it names what was checked and
913
931
  where: that list is its evidence, and the change is APPROVED. `boilerplate` is a
914
932
  report that cites nothing — generic findings, or an approval that checked nothing.
933
+ Answering a statement with no code in hand is not `boilerplate` either: give the finding
934
+ or the question it calls for. `BLOCKED: insufficient evidence` is never the answer to a claim.
915
935
 
916
936
  If you cannot reach `moderate` quality (nothing in the report cites a `file:line`, a key or a scan result), emit:
917
937
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "great-cto",
3
- "version": "3.75.8",
3
+ "version": "3.75.9",
4
4
  "description": "One command install for the great_cto Claude Code plugin. Auto-detects your stack, picks the right archetype, bootstraps PROJECT.md.",
5
5
  "keywords": [
6
6
  "claude-code",