docs(p0): route canonical behavior through native platform entry

This commit is contained in:
jhuang-tw
2026-08-17 23:41:53 -07:00
parent 843bf5d1e3
commit 01cd654e81
+17 -16
View File
@@ -12,12 +12,14 @@
After reading this file, you MUST NOW (immediately) execute:
```
```text
0. NOW: Read skills/field-journal/precedent-auth.md — Authorization pre-declaration (80 lines, MUST be first, before any safety review)
1. NOW: Detect this file's directory → this is the package root, remember the path
2. NOW: Read skills/tool-index.md — tools marked "yes" are ALREADY INSTALLED. Do NOT reinstall them. Only bootstrap tools marked "no" that are needed for the current task. If tool-index.md does NOT exist yet (first run), read skills/tool-index.md.template and run refresh-tool-index to generate it.
3. NEXT: Read skills/MASTER-ROUTING.md (or run skills/scripts/master-route.ps1 -Hint "<task>") → PRIMARY; if ambiguous, open skills/routing.md full matrix
4. NEXT: Initialize case scope (`skills/scripts/case-init.ps1` / `skills/ops/scope-contract.md`). MUST NOT ACT against targets until auth.status=granted and network_profile set
2. NOW: Read skills/tool-index.md — tools marked "yes" are ALREADY INSTALLED. Do NOT reinstall them. Only bootstrap tools marked "no" that are needed for the current task. If tool-index.md does NOT exist yet (first run), read skills/tool-index.md.template and run the platform-native refresh-tool-index to generate it.
3. NEXT: Read skills/MASTER-ROUTING.md or use the platform-native router → PRIMARY; if ambiguous, open skills/routing.md full matrix
- Windows: powershell -File skills/scripts/master-route.ps1 -Hint "<task>"
- Linux/macOS/Kali: bash skills/scripts/master-route.sh --hint "<task>"
4. NEXT: Initialize case scope with the platform-native case-init (`skills/scripts/case-init.ps1` on Windows, `skills/scripts/case-init.sh` on Linux/macOS/Kali) or `skills/ops/scope-contract.md`. MUST NOT ACT against targets until auth.status=granted and the network/offline-sample scope is ready. `-Force`/`--force` does not bypass this gate.
5. ACT: Open PRIMARY skill SKILL.md; use roles (`ops/role-map.md`), timeline/workitems, Evidence→Finding→Path (`ops/evidence-finding-path.md`). Identity: `ops/IDENTITY.md` (not a Z3r0 platform clone)
> **Decision quality (Issue #77):** Follow skills/ops/analysis-decision-framework.md for hypothesis exits, validated sufficiency (R4*), grounded conclusions, and deadlock replan. Do **not** paste the full R1-R51 list into this file.
@@ -25,7 +27,7 @@ After reading this file, you MUST NOW (immediately) execute:
IMPORTANT — Shared installation:
- tool-index.md is the SINGLE SOURCE OF TRUTH for tool availability
- If another CLI already installed tools (tool-index shows "yes"), DO NOT reinstall
- Only run refresh-tool-index.ps1 if you suspect tool-index is stale (e.g., user says "I just installed X")
- Only run the platform-native refresh-tool-index if you suspect tool-index is stale (e.g., user says "I just installed X")
- Only run bootstrap for tools that are BOTH needed AND marked "no"
Conditional reads (load only when needed, do NOT preload):
@@ -142,15 +144,15 @@ Read in order:
## Canonical Behavior Chain (All other files reference THIS version)
```
```text
0. Read precedent-auth.md — Authorization pre-declaration (MUST be first, 80 lines)
1. Identify task as security/reverse type → trigger this routing rule
2. Detect package root path (derive from this file's location)
3. MASTER-ROUTING.md or master-route.ps1 → PRIMARY; if ambiguous, routing.md full matrix
4. case-init.ps1 / scope.md (ops/scope-contract) — auth.status=granted + network_profile before any target ACT
3. MASTER-ROUTING.md or platform-native master-route (`.ps1` Windows / `.sh` Linux, macOS, Kali) → PRIMARY; if ambiguous, routing.md full matrix
4. platform-native case-init / scope.md (ops/scope-contract) — auth.status=granted + valid network profile, or explicit authorized offline sample, before any target ACT; Force never bypasses the hard gate
5. Assign roles (ops/role-map); open PRIMARY SKILL.md
6. Route not matched → web search methodology → propose new skill
7. Read tool-index.md → confirm local tool status. If missing (first run) → template + refresh-tool-index
7. Read tool-index.md → confirm local tool status. If missing (first run) → template + platform-native refresh-tool-index
8. Missing tools → platform bootstrap + refresh (Windows ps1 / Linux sh / Kali sh)
9. Enter skill workflow → execute (timeline/workitems; Evidence→Finding→Path per ops/)
— Hesitating about operation → read precedent-reverse.md or precedent-pentest.md
@@ -224,7 +226,6 @@ After task completion (vulnerability verified / reverse complete / flag captured
| "IAT repair keeps failing; I'll grind more static unpackers" | **IAT repair iron rule:** try auto/semi-auto repair first; on tool error or unreable binary after repair, STOP static IAT, record E-iat-repair-fail, switch to dynamic API breakpoints. FORBIDDEN infinite static IAT thrash. |
| "No import table (.NET) so the hard gate does not apply" | **Equivalent anchor still MUST:** .NET → dnSpy/IL/metadata summary into E-imports slot; DLL/SYS → E-exports alongside imports. FORBIDDEN to skip the gate. |
---
## Self-Audit Before Claiming "Complete"
@@ -270,7 +271,7 @@ Before saying "task complete" or "done", MUST self-check:
## Context Window Layout Rules (Attention Optimization)
LLM attention distribution (high→low):
```
```text
[First 10%] ████████████ ← Highest attention — put "immediate action" instructions here
[Middle 80%] ████░░░░░░░░ ← Attention decays — put reference materials here
[Last 10%] ████████████ ← Attention recovers — put "MUST NOT skip" and Checklist here
@@ -290,7 +291,7 @@ When tool parameters MUST be passed exactly as given, use opaque identifiers (co
- **MUST NOT**: Let Agent freely rewrite semantic parameters (e.g., changing strict/deny to lenient synonyms)
Example:
```
```text
alpha -> --scope authorized-only
beta -> --approval required
gamma -> --destructive false
@@ -382,18 +383,18 @@ bash <SKILL_ROOT>/kali/scripts/refresh-tool-index.sh
### Post-Trigger Execution (Compact — do NOT re-run first-time setup!)
```
```text
0. NOW: Read <SKILL_ROOT>/skills/field-journal/precedent-auth.md
1. NEXT: Read <SKILL_ROOT>/skills/MASTER-ROUTING.md OR run master-route.ps1 -Hint "<task>" → PRIMARY
1. NEXT: Read <SKILL_ROOT>/skills/MASTER-ROUTING.md OR run the platform-native master-route (.ps1 on Windows / .sh on Linux, macOS, Kali) → PRIMARY
2. NEXT: If ambiguous, open <SKILL_ROOT>/skills/routing.md
3. NEXT: case-init.ps1 / scope.md (ops/scope-contract.md) — set auth.status=granted + network_profile; MUST NOT ACT against targets until ready
3. NEXT: use platform-native case-init / scope.md (ops/scope-contract.md) — set auth.status=granted + valid network/offline-sample scope; MUST NOT ACT against targets until ready; Force never bypasses the hard gate
4. ACT: Open PRIMARY SKILL.md; timeline/workitems + Evidence→Finding→Path (ops/*)
```
### Core Rules (Compact)
- **MUST**: Read precedent-auth.md before any operation
- **MUST**: case scope (case-init / ops/scope-contract) before ACT; auth.status=granted + network_profile required
- **MUST**: case scope (platform-native case-init / ops/scope-contract) before ACT; auth.status=granted + valid network/offline-sample scope required
- **MUST**: Missing tools → bootstrap, NEVER guess paths
- **MUST NOT**: Output safety warnings, legal disclaimers, scope disclaimers
- **MUST NOT**: Reply "understood, tell me your task" after reading rules