gm-cc 2.0.510 → 2.0.512

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.
@@ -4,7 +4,7 @@
4
4
  "name": "AnEntrypoint"
5
5
  },
6
6
  "description": "State machine agent with hooks, skills, and automated git enforcement",
7
- "version": "2.0.510",
7
+ "version": "2.0.512",
8
8
  "metadata": {
9
9
  "description": "State machine agent with hooks, skills, and automated git enforcement"
10
10
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm-cc",
3
- "version": "2.0.510",
3
+ "version": "2.0.512",
4
4
  "description": "State machine agent with hooks, skills, and automated git enforcement",
5
5
  "author": "AnEntrypoint",
6
6
  "license": "MIT",
package/plugin.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gm",
3
- "version": "2.0.510",
3
+ "version": "2.0.512",
4
4
  "description": "State machine agent with hooks, skills, and automated git enforcement",
5
5
  "author": {
6
6
  "name": "AnEntrypoint",
@@ -10,6 +10,8 @@ description: Mandatory codebase search workflow. Use whenever you need to find a
10
10
 
11
11
  `exec:codesearch` is the only way to search the codebase. Glob, Grep, Find, Explore are hook-blocked.
12
12
 
13
+ **PDFs are indexed like code.** Any `.pdf` in the repository — specs, papers, manuals, RFCs, datasheets, design docs — is extracted page-by-page at scan time and enters the BM25 + vector index alongside source files. Treat PDF hits as first-class search results. A PDF chunk reports `line_start = line_end = page_number`; cite as `path/to/doc.pdf:<page>`. Unscanned digital PDFs are a search gap — if you know a doc exists and it isn't returning, check it is not under an ignored dir and that extraction succeeded (encrypted / image-only PDFs yield empty chunks silently).
14
+
13
15
  ## Syntax
14
16
 
15
17
  ```
@@ -58,3 +60,10 @@ exec:codesearch
58
60
  plugin config array
59
61
  ```
60
62
  → found.
63
+
64
+ Finding content inside a spec PDF:
65
+ ```
66
+ exec:codesearch
67
+ usb descriptor endpoint
68
+ ```
69
+ → returns `docs/usb-spec.pdf:42` — cite page, open via Read if you need the surrounding page text.
@@ -92,6 +92,8 @@ exec:codesearch
92
92
  <natural language description>
93
93
  ```
94
94
 
95
+ PDFs in the repo are part of the same index — when verifying a change conforms to a published spec, search the spec PDF directly and cite `doc.pdf:<page>` as evidence. A verification that references a PDF without having searched it is unwitnessed.
96
+
95
97
  ## GIT ENFORCEMENT
96
98
 
97
99
  ```
@@ -98,7 +98,7 @@ exec:codesearch
98
98
  <natural language description>
99
99
  ```
100
100
 
101
- Alias: `exec:search`. **Glob, Grep, Read, Explore are hook-blocked** — use `exec:codesearch` exclusively.
101
+ Alias: `exec:search`. **Glob, Grep, Read, Explore are hook-blocked** — use `exec:codesearch` exclusively. PDF pages are in the same index as source files; when verifying that emitted code matches a spec, search the PDF directly (e.g. `exec:codesearch\nregister layout`) and cite `doc.pdf:<page>` in the pre-emit comparison.
102
102
 
103
103
  ## BROWSER DEBUGGING
104
104
 
@@ -69,6 +69,8 @@ exec:codesearch
69
69
  <two-word query to start>
70
70
  ```
71
71
 
72
+ `exec:codesearch` indexes PDFs the same way it indexes source — spec PDFs, datasheets, papers, and RFCs return as first-class hits with `file:page` citations. When resolving a mutable that depends on external specification (protocol field, register layout, compliance text), search the PDF corpus before reimplementing or assuming. Unwitnessed assumption from a doc you did not search is an UNKNOWN.
73
+
72
74
  **Mandatory search protocol** for codesearch (from `code-search` skill):
73
75
  1. Start with exactly **two words** — never one, never a sentence
74
76
  2. No results → change one word (synonym or related term)
@@ -37,7 +37,7 @@ Planning = exhaustive fault-surface enumeration. For every aspect of the task:
37
37
 
38
38
  **Fault surfaces**: file existence | API shape | data format | dependency versions | runtime behavior | environment differences | error conditions | concurrency hazards | integration seams | backwards compatibility | rollback paths | deployment steps | CI/CD correctness
39
39
 
40
- **MANDATORY CODEBASE SCAN**: For every planned item, add `existingImpl=UNKNOWN`. Resolve via exec:codesearch. Existing code serving same concern → consolidation task, not addition.
40
+ **MANDATORY CODEBASE SCAN**: For every planned item, add `existingImpl=UNKNOWN`. Resolve via exec:codesearch. Existing code serving same concern → consolidation task, not addition. `exec:codesearch` indexes PDFs page-by-page alongside source — spec PDFs, papers, vendor manuals, and RFCs are searchable as code. When planning against a protocol, hardware, or compliance requirement, search the PDF corpus the same way you search source: two words, iterate. A constraint the PRD is missing because it only lives in a PDF is a fault surface — enumerate doc PDFs as scan targets during mutable discovery.
41
41
 
42
42
  **EXIT PLAN**: zero new unknowns in last pass AND all .prd items have explicit acceptance criteria AND all dependencies mapped → launch subagents or invoke `gm-execute`.
43
43