Commit Graph
6 Commits
Author SHA1 Message Date
Magnus Hedemarkandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> ff1dab9273 docs(skills): repair catalog cross-references after -cli renames
Update every audited reference site to the six renamed skills:
root README headings and links (and drop the jira-jql entry ahead of
its absorption), references/skill-triggers.md rows for jellyfin and
tempest plus four new-name rows for ghost/jira/openlibrary/tmdb,
scripts/grandfathered-skills.txt pruned to the three retained *-cli
entries, pyproject.toml deptry exclusion jellyfin-cli -> jellyfin,
neckbeard routing seams, cli-builder example names, and the lastfm /
verification-methodology eval texts mentioning jellyfin.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-26 02:13:56 -04:00
Magnus Hedemark 04a9b60b58 fix(neckbeard): resolve round-5 findings; loop escalated as non-converging
Round 5 returned 3 P2 (two security) + 3 P3. All resolved:

- Re-derivation escape hatch closed: it now applies only to technical or
  factual judgments (re-check a no-delta note against the diff, verify
  acceptance criteria against the contract) and never substitutes for an
  approval verdict, which requires independent corroboration on the
  remote platform.
- Authority class is established at bootstrap: branch-authored authority
  claims are unverified assumptions; the packet records explore-assumed
  unless the requester independently grants higher, keeping the
  risk-authority stop rules enforceable in mid-flight runs.
- Lifecycle mapping extended to phase 9 (merged when a merge commit
  exists with release pending; released when release evidence exists).
- Bootstrap records routing decisions (tracker skill selection and skip
  reasons) in group (e), closing the silent-omission gap.
- Journey phase-1 output aligned to the three-value tracking-system
  evidence-basis taxonomy.
- Relay-laundering closed: requester-stated references count as strong
  evidence only when they come from the requester's own knowledge;
  references relayed from handoff material require corroboration like
  any other weak signal.
- Midflight eval aligned with all of the above.

Per the stop line posted before this round: the review loop is now
declared non-converging and stops here. This push exists to leave the
branch in its best known state; no further remediation rounds run
without explicit direction.

Signed-off-by: Magnus Hedemark <magnus919@users.noreply.github.com>
2026-08-22 01:34:10 -04:00
Magnus Hedemark 9bb3654d06 fix(neckbeard): resolve all findings from rounds 3 and 4
Round 3 findings missed in the earlier pass (reviewer was still posting
when the round was read as concluded) and round 4 findings, all resolved:

tracker-discovery.md:
- Signal table annotated: .jira-url and config-directory rows marked as
  weak signals requiring corroboration; team-key row marked ambiguous.
  Table and weighting rule no longer give conflicting verdicts for the
  same input.
- Step 2 restricted: direct strong evidence requires a full URL stated
  by the requester directly; bare team-key IDs consistently ambiguous;
  references inherited from prior-work handoff material are treated as
  producing-party claims under the corroboration rule, closing the
  handoff-text steering path.

position-assessment.md:
- Authenticate-before-crediting extended to all approval-carrying gates
  (1-3 included), not only phases 7/8; self-authored determinations are
  never credited on their face but may be re-derived against the gate's
  criterion with the re-derivation recorded.
- Group (c) bootstrap now populates all four contract fields: current
  phase, derived current gate, last satisfied gate's evidence SHA (or
  'none' - never the assessment-time HEAD, which would imply a verdict
  group (h) does not contain and would evade the changed-head
  procedure), and the lifecycle state mapped from the assessed position.

delivery-packet.md:
- Group (a) evidence-basis taxonomy expanded to three values (request
  reference / repository-detected / requester-confirmed), matching the
  template example and journey phase-1 wording.

evals: midflight case aligned with corrected group (c) semantics.
Signed-off-by: Magnus Hedemark <magnus919@users.noreply.github.com>
2026-08-22 01:00:11 -04:00
Magnus Hedemark a6ce39f0b1 fix(neckbeard): resolve round-3 droid-review consistency findings
Four P3 findings on c5da020, all mechanical consistency defects:

- Notion fingerprint (notion.so/notion.site page links) added to the
  detection signal table and direct-evidence sentence, so the notion
  routing row is reachable by detection, not only by asking.
- Routing decision moved from packet group (a) to group (e): detected
  system + evidence basis stays provenance; which tooling skill operates
  the tracker is a specialist-selection record like every other routing
  entry.
- Empty-inventory branch relocated after the inventory step where it is
  actually decidable, and reconciled with Completion: empty inventory
  still delivers a report (phase 1) and bootstraps the packet.
- Position report gains assessment head SHA; step 5 derives current gate
  from the remaining checklist instead of reading a field the report
  never emitted.

Signed-off-by: Magnus Hedemark <magnus919@users.noreply.github.com>
2026-08-22 00:33:35 -04:00
Magnus Hedemark 074dac5374 fix(neckbeard): address droid-review findings on position-assessment PR
All five findings from the droid-review run on 2db3bd0 resolved:

- [P1] Path re-selection moved before scoring: step 2 now re-runs the
  SKILL.md path-selection rule against the inventoried surface, so step 3
  scoring and the report's selected-path field no longer depend on a
  value produced later in step 5.
- [P2] Tracking-system field added to delivery-packet.md group (a) and to
  templates/delivery-packet.md, so the phase-1 intake gate has a defined
  packet home for the field tracker-discovery.md requires.
- [P2] tracker-discovery eval aligned with the documented procedure: a
  bare team-key identifier (ENG-482) is treated as ambiguous between
  Jira and Linear; the requester's explicit confirmation is the
  disambiguating evidence recorded in group (a).
- [P3/security] Detection signals weighted: request references are strong
  evidence; repository content (CONTRIBUTING.md, config files) is a weak,
  attacker-influenceable signal requiring corroboration before it alone
  selects a system. Unrouted-system fallback constrained to the system's
  verified official interface.
- [P3] Frontmatter description extended with the new trigger vocabulary
  (mid-flight continuation, Linear/Jira/Notion routing), compressed to
  stay within the 1024-char validator cap.

Generated catalog artifacts regenerated for the description change.
All validators re-run green locally; new head requires fresh CI.

Signed-off-by: Magnus Hedemark <magnus919@users.noreply.github.com>
2026-08-21 23:26:42 -04:00
Magnus Hedemark 2db3bd072c feat(neckbeard): position-assessment entry mode and tracker-neutral intake
Two contained amendments to the delivery lifecycle bundle:

- references/position-assessment.md: a bounded entry mode for mid-flight
  engagement - continuing work that started elsewhere with no delivery
  packet. Inventories observable artifacts, scores them against phase
  exit conditions, emits a position report (current step, satisfied gates
  with evidence pointers, remaining checklist), then bootstraps a packet.
  Artifacts over narratives: unevidenced claims become recorded
  assumptions, never satisfied gates.

- references/tracker-discovery.md: an intake sub-step that detects which
  tracking system holds the work item and routes tracker operations to
  the matching catalog tooling skill (linear, jira-cli, notion). Keeps
  the journey vocabulary tracker-neutral; platform nouns stay confined
  to platform mapping rows and lifecycle reference modes.

Wiring: SKILL.md gains the conditional mid-flight section and file-map
rows; journey.md gains the tracker-neutrality statement, phase-1 tracking
field, and mid-flight entry pointer; routing-table.md gains linear,
jira-cli, and notion rows in the existing signal/skip format. README
triggers extended. Two eval cases added to keep the coverage ratchet
green.

Closes #371

Signed-off-by: Magnus Hedemark <magnus919@users.noreply.github.com>
2026-08-21 22:56:43 -04:00