invar-tools 1.10.0__py3-none-any.whl → 1.11.0__py3-none-any.whl
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.
- invar/core/doc_edit.py +187 -0
- invar/core/doc_parser.py +563 -0
- invar/core/ts_sig_parser.py +6 -3
- invar/mcp/handlers.py +408 -0
- invar/mcp/server.py +288 -143
- invar/shell/commands/doc.py +409 -0
- invar/shell/commands/guard.py +5 -0
- invar/shell/commands/init.py +72 -13
- invar/shell/doc_tools.py +459 -0
- invar/shell/fs.py +15 -14
- invar/shell/prove/crosshair.py +3 -0
- invar/shell/prove/guard_ts.py +13 -10
- invar/shell/skill_manager.py +17 -15
- invar/templates/skills/develop/SKILL.md.jinja +46 -0
- invar/templates/skills/review/SKILL.md.jinja +205 -493
- {invar_tools-1.10.0.dist-info → invar_tools-1.11.0.dist-info}/METADATA +34 -2
- {invar_tools-1.10.0.dist-info → invar_tools-1.11.0.dist-info}/RECORD +22 -17
- {invar_tools-1.10.0.dist-info → invar_tools-1.11.0.dist-info}/WHEEL +0 -0
- {invar_tools-1.10.0.dist-info → invar_tools-1.11.0.dist-info}/entry_points.txt +0 -0
- {invar_tools-1.10.0.dist-info → invar_tools-1.11.0.dist-info}/licenses/LICENSE +0 -0
- {invar_tools-1.10.0.dist-info → invar_tools-1.11.0.dist-info}/licenses/LICENSE-GPL +0 -0
- {invar_tools-1.10.0.dist-info → invar_tools-1.11.0.dist-info}/licenses/NOTICE +0 -0
|
@@ -232,6 +232,52 @@ Co-Authored-By: Claude <noreply@anthropic.com>"
|
|
|
232
232
|
- All TodoWrite items complete
|
|
233
233
|
- Integration works (if applicable)
|
|
234
234
|
|
|
235
|
+
#### Isolation Requirement (DX-75)
|
|
236
|
+
|
|
237
|
+
**For non-trivial implementations (>3 functions OR >200 lines), VALIDATE requires isolation:**
|
|
238
|
+
|
|
239
|
+
```
|
|
240
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
241
|
+
│ VALIDATE with Isolation │
|
|
242
|
+
│ ───────────────────────────────────────────────────────────│
|
|
243
|
+
│ │
|
|
244
|
+
│ Why: You (the builder) have context contamination. │
|
|
245
|
+
│ You "know" what the code is supposed to do. │
|
|
246
|
+
│ You cannot objectively verify your own work. │
|
|
247
|
+
│ │
|
|
248
|
+
│ Steps: │
|
|
249
|
+
│ 1. Main Agent: Run invar_guard() — mechanical checks │
|
|
250
|
+
│ │
|
|
251
|
+
│ 2. Spawn Isolated VALIDATOR (Task tool, model=opus): │
|
|
252
|
+
│ ┌─────────────────────────────────────────────────┐ │
|
|
253
|
+
│ │ RECEIVES: │ │
|
|
254
|
+
│ │ - Implementation files │ │
|
|
255
|
+
│ │ - Contracts (@pre/@post) │ │
|
|
256
|
+
│ │ - Original task description │ │
|
|
257
|
+
│ │ │ │
|
|
258
|
+
│ │ DOES NOT RECEIVE: │ │
|
|
259
|
+
│ │ - Development conversation │ │
|
|
260
|
+
│ │ - Your reasoning or decisions │ │
|
|
261
|
+
│ │ - Previous iterations │ │
|
|
262
|
+
│ │ │ │
|
|
263
|
+
│ │ TASK: "Does this implementation satisfy the │ │
|
|
264
|
+
│ │ contracts? Are there gaps or edge cases?" │ │
|
|
265
|
+
│ └─────────────────────────────────────────────────┘ │
|
|
266
|
+
│ │
|
|
267
|
+
│ 3. If VALIDATOR finds issues: │
|
|
268
|
+
│ - Main agent fixes │
|
|
269
|
+
│ - Spawn NEW validator (never reuse) │
|
|
270
|
+
│ - Repeat until PASS │
|
|
271
|
+
│ │
|
|
272
|
+
│ Exit: Guard PASS + Isolated Validator PASS │
|
|
273
|
+
└─────────────────────────────────────────────────────────────┘
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
**Skip isolation when:**
|
|
277
|
+
- Simple changes (<3 functions AND <200 lines)
|
|
278
|
+
- Pure refactoring (no behavior change)
|
|
279
|
+
- Documentation-only changes
|
|
280
|
+
|
|
235
281
|
## Task Batching
|
|
236
282
|
|
|
237
283
|
For multiple tasks:
|