codeforerunner 0.4.7__py3-none-any.whl → 0.4.8__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.
@@ -0,0 +1,52 @@
1
+ # Task: Surface Documentation and Scan Gaps
2
+
3
+ Reads cached forerunner state and surfaces two categories of gaps for the user to act on:
4
+ 1. **Doc gaps** — STALE or MISSING findings from the check report
5
+ 2. **Scan gaps** — fields the scan could not determine from available evidence
6
+
7
+ Does not generate docs. Routes the user to the right next step.
8
+
9
+ ## Input
10
+
11
+ - `.forerunner/scan.yaml` — cached scan result (check file modification time)
12
+ - `.forerunner/check-report.md` — cached staleness classifications (check file modification time)
13
+
14
+ ## Instructions
15
+
16
+ ### Step 1 — Check cache freshness
17
+
18
+ Read `.forerunner/scan.yaml` and `.forerunner/check-report.md`.
19
+
20
+ If either file is missing: report which file is absent and stop. Ask the user to run `forerunner doc scan` and/or `forerunner doc check` first.
21
+
22
+ If `scan.yaml` is older than 24 hours: warn the user and offer to continue with cached results or re-run scan first.
23
+
24
+ If `check-report.md` is older than `scan.yaml`: warn the user and offer to continue or re-run check first.
25
+
26
+ ### Step 2 — Surface doc gaps
27
+
28
+ Extract all rows from `check-report.md` where status is `STALE` or `MISSING`.
29
+
30
+ If none: report "All documented tasks are CURRENT." Proceed to step 3.
31
+
32
+ Present a summary table and offer: run `/forerunner-refresh` to regenerate all stale/missing docs, or invoke a specific task skill for individual items.
33
+
34
+ ### Step 3 — Surface scan gaps
35
+
36
+ Read the `gaps:` field from `scan.yaml`. If absent or empty: report "No scan gaps detected." Stop.
37
+
38
+ Otherwise, list each gap and ask the user how to fill them:
39
+
40
+ **A) Quick fill** — ask one question per gap and patch `scan.yaml` with user-provided values
41
+ **B) Full grill session** — deeper conversation that also updates `CONTEXT.md` and domain docs (requires `grill-with-docs` skill; fall back to A if not available)
42
+ **C) Skip**
43
+
44
+ For quick fill (A): ask one question per gap in sequence, update the corresponding field in `.forerunner/scan.yaml`, mark as `# user-provided` inline.
45
+
46
+ For grill session (B): invoke `grill-with-docs` with the gap list as the grilling focus.
47
+
48
+ ## Rules
49
+
50
+ - Never run a fresh scan or check automatically. Only read cached files.
51
+ - If `grill-with-docs` is not available when user selects B, fall back to A and inform the user.
52
+ - End with a summary: what was surfaced, what was filled, what remains open.
codeforerunner/tasks.json CHANGED
@@ -25,6 +25,7 @@
25
25
  {"name": "refresh", "scan_exempt": false, "skill_slug": "forerunner-refresh"},
26
26
  {"name": "review", "scan_exempt": false, "skill_slug": "forerunner-review"},
27
27
  {"name": "stack-docs", "scan_exempt": false, "skill_slug": "forerunner-stack-docs"},
28
- {"name": "version-audit", "scan_exempt": false, "skill_slug": "forerunner-version-audit"}
28
+ {"name": "version-audit", "scan_exempt": false, "skill_slug": "forerunner-version-audit"},
29
+ {"name": "gaps", "scan_exempt": true, "skill_slug": "forerunner-gaps"}
29
30
  ]
30
31
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codeforerunner
3
- Version: 0.4.7
3
+ Version: 0.4.8
4
4
  Summary: Model-agnostic repository documentation tooling (prompt-first; thin CLI).
5
5
  Author: Derek Palmer
6
6
  License-Expression: LicenseRef-Codeforerunner-SAL-0.1
@@ -29,7 +29,7 @@ Dynamic: license-file
29
29
 
30
30
  # codeForerunner
31
31
 
32
- [![Socket Badge](https://badge.socket.dev/npm/package/codeforerunner/0.4.7)](https://socket.dev/npm/package/codeforerunner)
32
+ [![Socket Badge](https://badge.socket.dev/npm/package/codeforerunner/0.4.8)](https://socket.dev/npm/package/codeforerunner)
33
33
 
34
34
  Model-agnostic repository documentation tooling. Ships a prompt pack for codebase analysis and doc generation, a thin Python CLI, an MCP server, drift-detection rules that keep docs honest — and native slash-command skills for Claude Code, Codex, Gemini CLI, and other agent CLIs.
35
35
 
@@ -149,7 +149,7 @@ jobs:
149
149
  runs-on: ubuntu-latest
150
150
  steps:
151
151
  - uses: actions/checkout@v6.0.2
152
- - uses: derek-palmer/codeforerunner@v0.4.7
152
+ - uses: derek-palmer/codeforerunner@v0.4.8
153
153
  with:
154
154
  fail-on-drift: "true" # set "false" to warn-only
155
155
  ```
@@ -11,7 +11,7 @@ codeforerunner/prompt_session.py,sha256=_ImYp5BBUmPF8uklcKGcuPw0Fx6p7Ev3PvxFpLpo
11
11
  codeforerunner/release_surfaces.json,sha256=q8fus5wrWrNucnBiK65cTKjDuHstb5-NsYeNL1RqreU,3481
12
12
  codeforerunner/release_surfaces.py,sha256=QIh9tcLCVF4JNj5COvLvBfzmFacSyTV6Cuvpa9aMvl8,3517
13
13
  codeforerunner/skill_parity.py,sha256=FEKO4SU7RzdV_oMfcVlTPBdydxH594cZShYJni9WjdA,3244
14
- codeforerunner/tasks.json,sha256=vgMW4OdfYE4_Al_8vDp38MAAx8uQF_uUYckcme3HQRM,1589
14
+ codeforerunner/tasks.json,sha256=SEyeaZXRWyEgwvNqaCHQFkWJKzi6RI5W8kyZKjXq6iI,1684
15
15
  codeforerunner/tasks.py,sha256=DeLu3LAPcIbAQDra_xAi8mZyQicfEMPj3d64MhrTJss,1571
16
16
  codeforerunner/prompts/partials/context-format.md,sha256=WNfkr4kf2Awj0R8wLOrFotEiYCe6hfKTq5eA3Rt5_Xw,817
17
17
  codeforerunner/prompts/partials/output-rules.md,sha256=vfIAX-ImxCa-MVAeNH896uSIO7-cKbJd0KohkgHIiD8,1731
@@ -24,6 +24,7 @@ codeforerunner/prompts/tasks/changelog.md,sha256=zEy3HFFjsg_X4K93yOgKUfhpunrbqJr
24
24
  codeforerunner/prompts/tasks/check.md,sha256=TWEjrAqq14-yKGPL39x0RlaTTYfMZ8lG4VMSMsZ_4YA,2722
25
25
  codeforerunner/prompts/tasks/diagrams.md,sha256=Hjo5PS5HwH0VAwjQrAfZGhOjnOco1VjBZ_Z8Rdt1exo,2129
26
26
  codeforerunner/prompts/tasks/flows.md,sha256=JDfI9-zuSI-1rhStbpzb5Bb05iEMWFB0dAffsAwnI08,1592
27
+ codeforerunner/prompts/tasks/gaps.md,sha256=cmULFPIlviPCAuw-tMuDKrfNZOa69_2uAqe7pp3uIPM,2341
27
28
  codeforerunner/prompts/tasks/init-agent-onboarding.md,sha256=J-HJ-6TcPdMUGC5E76QiNLD61XmnU-fWHZTanuFtzME,2504
28
29
  codeforerunner/prompts/tasks/readme.md,sha256=Fq9CTAryb7Kv4bPMIgcyGFgmmzh7KtnMRa9tSyWt0yU,1156
29
30
  codeforerunner/prompts/tasks/refresh.md,sha256=-7vRYazNLNegKC2wdJBfR1j9Brw_tLVEbaVx9BVbu0o,1435
@@ -31,9 +32,9 @@ codeforerunner/prompts/tasks/review.md,sha256=IRdIXAKvv0JMOE5WtrnlO1Cd4LHXtcJqb1
31
32
  codeforerunner/prompts/tasks/scan.md,sha256=IoZXX-bt9ODra7cSB-3Y6IUgws6YTDKwKNX_18ChjIU,2338
32
33
  codeforerunner/prompts/tasks/stack-docs.md,sha256=Dy-JSXpSmHSyhR5shQBXKa_F0PqnjPcmtljthYZpaiM,1923
33
34
  codeforerunner/prompts/tasks/version-audit.md,sha256=oK-pcoxt_VcvDOlj1Sz9OlEhXlcViLPn54r-qP5WfiA,5833
34
- codeforerunner-0.4.7.dist-info/licenses/LICENSE.md,sha256=iIhmJHib6GbdjcwiDMM-npiNRf3XgASom1WsOJivEdc,2915
35
- codeforerunner-0.4.7.dist-info/METADATA,sha256=Hu0QeISIv2xkzyH4ZoLu-KoWG_Alg4PnH18_mav37qo,9953
36
- codeforerunner-0.4.7.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
37
- codeforerunner-0.4.7.dist-info/entry_points.txt,sha256=3p8BbPlq-wfcXk42tsweKePRaGlZ1WXho1gOkuZGyIQ,55
38
- codeforerunner-0.4.7.dist-info/top_level.txt,sha256=pV1rt0-NIpNEotKXpL_sF2060DHr-_0F86LWhUlvXis,15
39
- codeforerunner-0.4.7.dist-info/RECORD,,
35
+ codeforerunner-0.4.8.dist-info/licenses/LICENSE.md,sha256=iIhmJHib6GbdjcwiDMM-npiNRf3XgASom1WsOJivEdc,2915
36
+ codeforerunner-0.4.8.dist-info/METADATA,sha256=VWhixJeYrosJ2DtlFtwwCvTQNGAu_7zCvLjB-HP1kUE,9953
37
+ codeforerunner-0.4.8.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
38
+ codeforerunner-0.4.8.dist-info/entry_points.txt,sha256=3p8BbPlq-wfcXk42tsweKePRaGlZ1WXho1gOkuZGyIQ,55
39
+ codeforerunner-0.4.8.dist-info/top_level.txt,sha256=pV1rt0-NIpNEotKXpL_sF2060DHr-_0F86LWhUlvXis,15
40
+ codeforerunner-0.4.8.dist-info/RECORD,,