Group 3 of the validated PR #135 review fixes. Every figure and commit citation below was re-verified at HEAD before being written. ADR and architecture: - #7 ADR-0025 cited 61b0b9c, which no published branch reaches. Repointed to620f20b(identical parent tree, reachable from the PR branch), with a note that neither is reachable from origin/main. The parser-drift paragraph now credits598a7c3(the reachable PR #129 squash) and keeps484357aonly as a pre-squash parenthetical. - #8 architecture.md dropped the pointer at the LESSONS.md entry this branch deleted. - #9 architecture.md's ADR entry points now name ADR-0015 (the one compiler) and ADR-0024, and list ADR-0024 as superseding ADR-0017. - #10 ADR-0024 section 4 rewritten: the standing patch-bump rule is apm-workflow's configure.md, not ADR-0006's, and this change does not trigger it. ADR-0015:93 carries a correction for the misattribution. - N5 ADR-0021 gained a Correction note for the deleted scripts/check-manifests.sh (e647f14). gates.md: - #11a the four ADR-0020 constants live in lib-checks-skill.sh:313-316 and lib-checks-agent.sh:164-165, not in validate.sh. - #11b the pretty-format-json exclude is two alternations expanding to three tracked files, including .claude/apm-hooks.json. - #11c the ADR-0020 contract suite runs 28 -> 27 -> 29 (620f20b,4de5b6b,ef27c97), 29 at HEAD; the unverifiable 25 is dropped. - #11d the boundary resolver is one copy sinceef27c97. - #12 apm-audit-ci documents the 10 root checks and the 1 plugin check apm 0.28.0 actually runs, that content-integrity IS the hidden-Unicode scan, that manifest-parse is not a named check, and that the hook needs a completed apm install. The offline claim is qualified accordingly. - N9 gates.md:142-146 verified to still match the hook description. AGENTS.md: - #12 the no-network session rule is qualified to a populated apm_modules/. Audit note: - A1 hook counts corrected to 27/9 -> 26/8 -> 27/9 -> 26/8 (26 and 8 at HEAD) and the dangling pointer dropped. - A2 skill-size-check.sh is 509 lines with the resolver sourced, not 1,522 embedded; citations repointed to skill-size-check.sh:323-335 and lib-checks-skill.sh:235-283 (fail() at :265 and :280), and that library is 627 lines. - A3 consumers receive 15 test files across 5 skills; 16 tracked test paths repo-wide. - A4 the "do not run apm update on this branch" instruction is marked superseded, with the branch-aware guidance in its place. - Finding 31's "true orphans" claim corrected for HOTL and Sycophancy, both still used in core/ai-constitution.md. Same class, found during group 2: - skill-author's deployment-modes.md no longer points at .mcp.json configs (deleted inc96ca9c); metadata.version 1.0.2 -> 1.0.3. - git-orchestrate's context contract clarifies that user_config_overrides is caller-supplied session state, not a config read. The field name is unchanged. - B3 root apm.yml's executables.allow comment: grants are version-blind in apm 0.28.0, so the #2.0.0 suffix is cosmetic to apm and a bump does not break the hook; the suffix stays because check-executables-allow-sync.sh requires it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NwD8Egs5r4ndqeFLmhusX2
107 lines
4.0 KiB
YAML
107 lines
4.0 KiB
YAML
name: holocron
|
|
version: 0.5.0
|
|
description: AI development skills for Claude Code, and for GitHub Copilot through apm — factory, design, implement, review, and cross-cutting workflows.
|
|
license: MIT
|
|
|
|
# Consumer side: this repo installs its own published plugins from the holocron
|
|
# remote, so the working copy runs the same released content every other
|
|
# consumer gets. Addressed as git+path objects rather than <name>@holocron
|
|
# marketplace aliases — an alias needs a `apm marketplace add` registration in
|
|
# ~/.apm/marketplaces.json (user scope, outside this repo), the object form
|
|
# needs nothing beyond this manifest.
|
|
# Unpinned (default branch) on purpose: parity with the Claude Code plugin
|
|
# install this replaced, which ran autoUpdate against main. Add `ref: <tag>`
|
|
# per entry to pin.
|
|
targets:
|
|
- claude
|
|
dependencies:
|
|
apm:
|
|
- git: git@git.dev.rkdr.net:Defame1297/holocron.git
|
|
path: plugins/bin
|
|
- git: git@git.dev.rkdr.net:Defame1297/holocron.git
|
|
path: plugins/core
|
|
- git: git@git.dev.rkdr.net:Defame1297/holocron.git
|
|
path: plugins/git
|
|
- git: git@git.dev.rkdr.net:Defame1297/holocron.git
|
|
path: plugins/gitea
|
|
- git: git@git.dev.rkdr.net:Defame1297/holocron.git
|
|
path: plugins/kyberforge
|
|
- git: git@git.dev.rkdr.net:Defame1297/holocron.git
|
|
path: plugins/lint
|
|
mcp: []
|
|
|
|
# Turns apm's executable-trust gate ON. Without this block the gate is disabled
|
|
# and every hook, bin and MCP primitive a dependency ships deploys silently —
|
|
# verified: `apm approve --list` reports "Executable-trust gate disabled -- all
|
|
# executables deploy" until an `executables:` block exists.
|
|
#
|
|
# kyberforge ships the SessionStart hook that keeps this install level with the
|
|
# remote (ADR-0019). The `#2.0.0` suffix below is cosmetic as far as apm is
|
|
# concerned: grants are version-BLIND in apm 0.28.0. `_map_grants`
|
|
# (apm_cli/security/executables.py) matches the exact key, the version-blind
|
|
# name, or any stored key sharing that name, and `materialize_exec_map` also
|
|
# stores the version-blind name — so approving `kyberforge` covers
|
|
# `kyberforge#2.0.0` and vice-versa, and a kyberforge version bump does NOT
|
|
# make this entry stop matching or stop the hook deploying. Do not delete the
|
|
# suffix anyway: `scripts/check-executables-allow-sync.sh` is a repo-authored
|
|
# pre-push hook that asserts this key carries the version in
|
|
# plugins/kyberforge/apm.yml, so a bump here is a repo convention to keep, not
|
|
# an apm mechanic.
|
|
executables:
|
|
allow:
|
|
kyberforge#2.0.0:
|
|
hooks: true
|
|
bin: true
|
|
|
|
marketplace:
|
|
# apm's Claude marketplace mapper only emits description:/version: into the
|
|
# compiled marketplace.json when set explicitly here (an override) — the
|
|
# top-level apm.yml description:/version: above are NOT inherited into the
|
|
# compiled output despite being used elsewhere (e.g. by `apm audit`).
|
|
description: AI development skills for Claude Code, and for GitHub Copilot through apm — factory, design, implement, review, and cross-cutting workflows.
|
|
version: 0.5.0
|
|
owner:
|
|
name: Defame1297
|
|
email: defame1297@rkdr.net
|
|
url: https://git.dev.rkdr.net/Defame1297/
|
|
|
|
# Default tag pattern used to resolve version ranges for each package.
|
|
build:
|
|
tagPattern: "v{version}"
|
|
|
|
# Output targets (map form). Each output writes to its profile default
|
|
# path; add 'path:' under a key to override.
|
|
outputs:
|
|
claude: {}
|
|
|
|
# CI tip: build a machine-readable manifest:
|
|
# apm pack --marketplace=claude --json | jq -r '.marketplace.outputs[].path'
|
|
|
|
versioning:
|
|
strategy: per_package
|
|
|
|
packages:
|
|
- name: kyberforge
|
|
source: ./plugins/kyberforge
|
|
category: Developer Tools
|
|
|
|
- name: bin
|
|
source: ./plugins/bin
|
|
category: Utilities
|
|
|
|
- name: git
|
|
source: ./plugins/git
|
|
category: Version Control
|
|
|
|
- name: gitea
|
|
source: ./plugins/gitea
|
|
category: Version Control
|
|
|
|
- name: core
|
|
source: ./plugins/core
|
|
category: Productivity
|
|
|
|
- name: lint
|
|
source: ./plugins/lint
|
|
category: Developer Tools
|