issues/map
Issue-board (Issue Pivot) generation domain. Use when reasoning about `cn issues map`'s fetch, taxonomy-parse, effort-computation, and render pipeline, or about the board's JSON/HTML output contract.
- License 许可
- Apache-2.0
- 所属仓库
- usurobor/cnos
- 最近更新
- 2026-11-07
- Stars
- ★ 9
- Forks
- 0
01 前言 Front Matter
- name
- issues/map
- scope
- task-local
- inputs
- [ "open GitHub issues (live via API, or fixture/stdin for offline use)" ]
- outputs
- [ "board records (taxonomy, effort, effort_weight, unestimated)", "index.html (Voronoi + Pivot views)", "board-data.json", "README.md (generated, do-not-hand-edit)" ]
- triggers
- [ "issues map", "issue board", "issue pivot", "board-data.json" ]
- visibility
- public
- description
- Issue-board (Issue Pivot) generation domain. Use when reasoning about `cn issues map`'s fetch, taxonomy-parse, effort-computation, and render pipeline, or about the board's JSON/HTML output contract.
- kata_surface
- none
- artifact_class
- skill
- governing_question
- How does an open-issue set become a taxonomy-aware, effort-weighted board record set and a self-contained interactive board output?
03 SKILL.md 正文
Issue map
Core Principle
The board is a projection of the issue taxonomy, not an independent data
model: every field a board record carries is derived from taxonomy labels
(skills/taxonomy/SKILL.md), never invented locally.
Implementation location
The domain implementation lives at
src/packages/cnos.issues/commands/issues-map/
as its own Go module
(module github.com/usurobor/cnos/packages/cnos.issues/commands/issues-map),
co-located with this package, mirroring the
cnos#392 cdd-verify
precedent exactly:
- wired into
src/go/go.modvia arequire+replacepair; - added to
go.work'suse (...)list; - dispatched by the thin
src/go/internal/cli/cmd_issues_map.go(argument parsing + one-line delegation only — no domain logic).
See src/packages/cnos.issues/SKILL.md §"Command-dispatch disposition" for
why this is Go-source co-location and not package-command exec-dispatch.
Command contract
cn issues map --repo <owner/repo> --out docs/development/board
- fetches open issues (GitHub API, or
--fixture/--stdinfor offline use); - parses
kind/*,area/*,P0–P3,status:*,dispatch:cell,protocol:*,effort/*per the taxonomy; - computes
effort,effort_weight(S=1, M=2, L=4, XL=8), andunestimated(missing effort ≠ small — nominal weight 1, visually flagged); - excludes
kind/trackingfrom effort rollups by default; - emits
index.html,board-data.json,README.mdinto--out.
Rule
- The CLI dispatcher never contains taxonomy, effort, or rendering logic —
that is a dispatch-boundary violation (
docs/architecture/DESIGN-CONSTRAINTS.md§3.2). - Board output behavior (fields, weights, exclusions) is unchanged by moving the implementation's package home; a package-boundary refactor is not a license to change board semantics.
04 同仓库更多 Skills
issues/triage
Issue triage doctrine pointer. Use when classifying a new issue, deciding dispatch eligibility, or deciding whether to close/supersede/defer.
issues/taxonomy
Issue label taxonomy pointer. Use when classifying an issue's kind/area/priority/effort/status/protocol/dispatch labels, or when the board needs to interpret them.
issues
cnos.issues package entrypoint. Use when reasoning about issue taxonomy, the Issue Pivot / issue-board (`cn issues map`), the read-only CDS issue-state evaluator (`cn issues fsm evaluate`), or the current command-dispatch disposition of issue tooling.
receipt-stream
Cross-cycle receipt-stream doctrine for protocol-iteration. Use when γ closes a cycle and writes the per-cycle iteration artifact (`cdd-iteration.md`), when γ updates the cross-cycle aggregator at `.cdd/iterations/INDEX.md`, when ε reads the receipt stream across cycles to surface protocol-gap patterns, when a finding's disposition lands a cross-repo patch and the cross-repo trace bundle attaches, or when a courtesy empty-findings stub is written for a `protocol_gap_count == 0` cycle.
mid-flight
Mid-flight γ→in-flight-α rescue channel. Use when γ needs to change a load-bearing fact (pinned axis, scope, AC, blocker) after α has begun coding, when γ edits the cycle's GitHub issue body mid-cycle, or when a spec change lands on origin/main while α/β polling sessions are in-flight.
dispatch
Dispatch-time wire-format contract between γ (orchestrator) and α/β (workers). Use when γ authors a dispatch prompt for α or β, when δ enriches an under-specified prompt at routing time, or when α reads the implementation-contract block at intake.