@vegastack/skills 0.5.0 → 0.7.0

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.
Files changed (94) hide show
  1. package/README.md +6 -2
  2. package/dist/index.js +8 -35
  3. package/package.json +1 -1
  4. package/skill/architect/SKILL.md +68 -0
  5. package/skill/architect/agents/openai.yaml +4 -0
  6. package/skill/architect/assets/adr-template.md +21 -0
  7. package/skill/architect/assets/arch-template.md +20 -0
  8. package/skill/architect/references/advisory.md +102 -0
  9. package/skill/architect/references/ai-agents.md +95 -0
  10. package/skill/architect/references/data.md +90 -0
  11. package/skill/architect/references/infra.md +128 -0
  12. package/skill/architect/references/mobile.md +78 -0
  13. package/skill/architect/references/pinned-facts.md +108 -0
  14. package/skill/architect/references/principles.md +91 -0
  15. package/skill/architect/references/project-profile.md +37 -0
  16. package/skill/architect/references/security.md +97 -0
  17. package/skill/architect/references/stack.md +38 -0
  18. package/skill/architect/references/web.md +152 -0
  19. package/skill/architect/refresh/REFRESH.md +29 -0
  20. package/skill/architect/refresh/sources.json +244 -0
  21. package/skill/dev-implement/SKILL.md +62 -0
  22. package/skill/dev-implement/agents/openai.yaml +4 -0
  23. package/skill/dev-implement/refresh/REFRESH.md +3 -0
  24. package/skill/dev-implement/refresh/sources.json +6 -0
  25. package/skill/dev-intake/SKILL.md +62 -0
  26. package/skill/dev-intake/agents/openai.yaml +4 -0
  27. package/skill/dev-intake/references/brief-template.md +56 -0
  28. package/skill/dev-intake/refresh/REFRESH.md +3 -0
  29. package/skill/dev-intake/refresh/sources.json +6 -0
  30. package/skill/dev-setup/SKILL.md +65 -0
  31. package/skill/dev-setup/agents/openai.yaml +4 -0
  32. package/skill/dev-setup/assets/agents-section.md.template +9 -0
  33. package/skill/dev-setup/assets/dev-profile.md.template +24 -0
  34. package/skill/dev-setup/references/harness-facts.md +22 -0
  35. package/skill/dev-setup/refresh/REFRESH.md +13 -0
  36. package/skill/dev-setup/refresh/sources.json +152 -0
  37. package/skill/dev-ship/SKILL.md +33 -0
  38. package/skill/dev-ship/agents/openai.yaml +4 -0
  39. package/skill/dev-ship/refresh/REFRESH.md +3 -0
  40. package/skill/dev-ship/refresh/sources.json +6 -0
  41. package/skill/skill-maintainer/SKILL.md +9 -10
  42. package/skill/skill-maintainer/references/release-ops.md +12 -16
  43. package/skill/skill-maintainer/refresh/REFRESH.md +4 -4
  44. package/skill/skillify/SKILL.md +38 -48
  45. package/skill/skillify/assets/templates/REFRESH.md.template +5 -10
  46. package/skill/skillify/assets/templates/SKILL.md.template +1 -0
  47. package/skill/skillify/assets/templates/skill.test.ts.template +11 -24
  48. package/skill/skillify/assets/templates/sources.json.template +1 -1
  49. package/skill/skillify/assets/templates/trigger-queries.json.template +1 -0
  50. package/skill/skillify/references/authoring.md +20 -14
  51. package/skill/skillify/refresh/REFRESH.md +1 -1
  52. package/skill/skillify/scripts/scaffold-skill.mjs +75 -17
  53. package/skill-integrity.json +66 -53
  54. package/skill/arch-guardian/SKILL.md +0 -84
  55. package/skill/arch-guardian/agents/openai.yaml +0 -4
  56. package/skill/arch-guardian/assets/adr-template.md +0 -25
  57. package/skill/arch-guardian/assets/answers-example.json +0 -10
  58. package/skill/arch-guardian/assets/architecture-profile.json +0 -13
  59. package/skill/arch-guardian/assets/architecture-profile.schema.json +0 -31
  60. package/skill/arch-guardian/assets/deployment-review-template.md +0 -24
  61. package/skill/arch-guardian/assets/service-design-template.md +0 -33
  62. package/skill/arch-guardian/assets/threat-model-template.md +0 -34
  63. package/skill/arch-guardian/references/advisory-report.md +0 -65
  64. package/skill/arch-guardian/references/architecture/agent-product.md +0 -22
  65. package/skill/arch-guardian/references/architecture/ai-cost.md +0 -24
  66. package/skill/arch-guardian/references/architecture/ai-data-boundaries.md +0 -21
  67. package/skill/arch-guardian/references/architecture/ai-evals.md +0 -28
  68. package/skill/arch-guardian/references/architecture/connectors-sandbox.md +0 -39
  69. package/skill/arch-guardian/references/architecture/data-memory.md +0 -25
  70. package/skill/arch-guardian/references/architecture/delivery-operations.md +0 -34
  71. package/skill/arch-guardian/references/architecture/durable-execution.md +0 -45
  72. package/skill/arch-guardian/references/architecture/flutter.md +0 -26
  73. package/skill/arch-guardian/references/architecture/foundation.md +0 -31
  74. package/skill/arch-guardian/references/architecture/hosting-reliability.md +0 -37
  75. package/skill/arch-guardian/references/architecture/identity-tenancy.md +0 -37
  76. package/skill/arch-guardian/references/architecture/model-lifecycle.md +0 -20
  77. package/skill/arch-guardian/references/architecture/models-observability.md +0 -23
  78. package/skill/arch-guardian/references/architecture/realtime-channels.md +0 -16
  79. package/skill/arch-guardian/references/architecture/security-privacy.md +0 -27
  80. package/skill/arch-guardian/references/architecture/topology-monorepo.md +0 -47
  81. package/skill/arch-guardian/references/architecture/web.md +0 -29
  82. package/skill/arch-guardian/references/foundation-compatibility.json +0 -44
  83. package/skill/arch-guardian/references/golden-patterns.md +0 -43
  84. package/skill/arch-guardian/references/profile-governance.md +0 -40
  85. package/skill/arch-guardian/references/rule-model.json +0 -36
  86. package/skill/arch-guardian/references/workflows.md +0 -48
  87. package/skill/arch-guardian/refresh/REFRESH.md +0 -47
  88. package/skill/arch-guardian/refresh/sources.json +0 -1171
  89. package/skill/arch-guardian/scripts/lib.mjs +0 -48
  90. package/skill/arch-guardian/scripts/profile-tool.mjs +0 -217
  91. package/skill/arch-guardian/scripts/refresh-evidence.mjs +0 -366
  92. package/skill/arch-guardian/scripts/schema-validate.mjs +0 -63
  93. package/skill/arch-guardian/scripts/validate-profile.mjs +0 -65
  94. package/skill/arch-guardian/scripts/verify-corpus.mjs +0 -136
@@ -1,40 +0,0 @@
1
- # Profile and governance
2
-
3
- The v4 profile is slim advisor memory — roughly a dozen lines of confirmed facts. `capabilities` is authoritative intent; repository detection is evidence for drift, never a reason to silently enable anything. Versions are read from lockfiles and manifests at advice time and are never duplicated into the profile.
4
-
5
- | Field | Meaning |
6
- |---|---|
7
- | `project.tier` | `prototype` / `production` / `enterprise` — decides which concerns apply (see foundation) |
8
- | `project.kind`, `tenancy` | confirmed project facts |
9
- | `hosting` | production hosting target (`none` for a non-deployable package) |
10
- | `capabilities` | enabled list: `web`, `flutter`, `agents`, `jobs`, `sandbox`, `connectors`, `knowledge`, `models`, `realtime`, `notifications`, `enterprise-identity` |
11
- | `notes` | free-form confirmed facts and recorded deviations |
12
-
13
- ## Tier declaration
14
-
15
- Choosing the tier is a deliberate product decision, not a guess: prototype means the team accepts that only irreversibles are guarded; production means real users depend on it; enterprise means compliance-grade posture. Raising the tier is a review event — the guardian re-reviews enabled capabilities against the new floor and reports the gap as `production-gate`/`enterprise-gate` findings, not failures.
16
-
17
- ## Capability activation
18
-
19
- Apply rules only when a capability is enabled in the profile or observed in the repository, at or below the declared tier. Key implications:
20
-
21
- - Flutter activates delegated OAuth/PKCE and generated-client rules.
22
- - Agents activate durable-execution ownership rules; at prototype tier a simpler loop is acceptable with a named migration path (see durable execution).
23
- - Untrusted execution activates the sandbox boundary.
24
- - Shared-schema multi-tenancy activates `TEN-*` at every tier.
25
- - Production secrets activate secret-custody guidance — the mechanism is tier- and trigger-dependent (see security and privacy), never automatically OpenBao.
26
- - Removing a capability requires a cleanup/migration plan for durable data, credentials, queues, and contracts.
27
-
28
- ## Deviations
29
-
30
- There is no exception or suppression machinery. When the team deliberately departs from a recommendation:
31
-
32
- 1. Record it — one line in `notes` for small departures; an ADR ([template](../assets/adr-template.md)) for consequential ones (owner, decision, revisit trigger).
33
- 2. The guardian keeps reporting it in reviews as `accepted risk — guardian recommends revisiting`, with the reason. Recording a decision makes it visible and deliberate; it never silences the advisor and nothing gates on it.
34
-
35
- ## Governance operations
36
-
37
- - Drift PRs from the automated source refresh are reviewed by whoever merges them.
38
- - Source staleness thresholds are a minimum of 14 days, aligned to the weekly automated refresh.
39
- - Profiles may pin `foundationVersion` (currently `0.4.0`); it is decoupled from the installer npm package version, so installer upgrades never change a project's pinned foundation.
40
- - Full qualification matrices (e.g. `DUR-007`) are required before the production tier, not before every merge; interim reviews record the gap under `notVerified`.
@@ -1,36 +0,0 @@
1
- {
2
- "schemaVersion": 1,
3
- "defaults": { "classification": "invariant", "tierFloor": "production", "authority": "canonical prose in references/architecture; tier tags on rule lines override the default floor" },
4
- "groups": [
5
- { "rules": ["FOUND-001", "FOUND-003", "FOUND-004"], "activation": "profile, governance, or any guardian output", "verification": "structural, semantic, output review", "rationale": "Keep project facts, accepted risk, and capability applicability honest." },
6
- { "rules": ["API-001", "API-002", "API-003", "API-004", "WEB-001"], "activation": "web control plane or public/generated API enabled or observed", "verification": "static, generated-contract, runtime", "rationale": "Keep one portable control-plane contract and safe request boundary." },
7
- { "rules": ["MOB-001", "MOB-002", "MOB-003", "MOB-004"], "activation": "Flutter enabled or observed", "verification": "semantic, generated-contract, mobile runtime", "rationale": "Keep delegated mobile identity, wire contracts, local secrets, push, and links safe." },
8
- { "rules": ["AUTH-001", "AUTH-002", "AUTH-003", "AUTH-004", "AUTH-005", "AUTH-006", "AUTH-007"], "activation": "the corresponding authenticated, delegated, service, enterprise, or support access exists", "verification": "static, semantic, identity integration", "rationale": "Bind identity and authorization to current durable project state." },
9
- { "rules": ["TEN-001", "TEN-002", "TEN-003", "TEN-004"], "activation": "shared-schema multi-tenancy enabled or tenant context observed", "verification": "SQL static analysis and negative runtime tests", "rationale": "Prevent cross-tenant access through keys, policies, roles, and privileged paths." },
10
- { "rules": ["AGENT-001", "AGENT-002", "AGENT-003", "AGENT-004"], "activation": "agent authoring/publication enabled or observed", "verification": "compiler determinism, schema, eval and publication tests", "rationale": "Make published agent behavior immutable, pinned and reviewable." },
11
- { "rules": ["DUR-001", "DUR-002", "DUR-003", "DUR-004", "DUR-005", "DUR-006", "DUR-007", "DUR-008", "DUR-009"], "activation": "agents, agent admission, jobs, retried effects, or shared tenant Workflow World as specified", "verification": "static, semantic, crash/replay/reconciliation", "rationale": "Give each durable state class one owner and qualify recovery, tenancy, and engine exit safely." },
12
- { "rules": ["CONN-001", "CONN-002", "CONN-003", "CONN-004", "CONN-005"], "activation": "connector, MCP or webhook enabled or observed", "verification": "static, SSRF/replay/credential integration", "rationale": "Constrain external capabilities, identity and side effects at the trust boundary." },
13
- { "rules": ["SBX-001", "SBX-002", "SBX-003", "SBX-004", "SBX-005"], "activation": "untrusted execution or sandbox enabled or observed", "verification": "semantic and live isolation/egress/cleanup tests", "rationale": "Keep untrusted execution disposable, credential-free and policy-brokered." },
14
- { "rules": ["DATA-001", "DATA-002", "DATA-003", "DATA-004", "DATA-005"], "activation": "corresponding business, knowledge, memory, object, or lifecycle data exists", "verification": "schema, authorization, deletion, object security and recovery tests", "rationale": "Keep authoritative data, derived state and lifecycle ownership explicit." },
15
- { "rules": ["RT-001", "RT-002", "RT-003", "RT-004", "RT-005", "RT-006"], "activation": "corresponding realtime, channel, or notification capability exists", "verification": "protocol, ingress, reconnect, dedupe and delivery tests", "rationale": "Separate ephemeral transport from durable event and notification ownership." },
16
- { "rules": ["MODEL-001", "MODEL-002", "MODEL-003"], "activation": "model routing or BYOK enabled or observed", "verification": "route policy, credential and fallback integration", "rationale": "Preserve tenant, region, retention and key-source policy across model routes." },
17
- { "rules": ["OBS-001", "OBS-002", "OBS-003"], "activation": "telemetry or audit surface exists", "verification": "static redaction and telemetry/audit integration", "rationale": "Provide useful evidence without leaking sensitive content." },
18
- { "rules": ["SEC-001", "SEC-002", "SEC-003", "SEC-004", "SEC-005"], "activation": "the corresponding exposed capability, secret, authorization, build or abuse surface exists", "verification": "threat model, static, security integration", "rationale": "Enforce security in typed/runtime boundaries rather than prompts or assumptions." },
19
- { "rules": ["RUN-001", "RUN-002", "RUN-003", "RUN-004"], "activation": "corresponding owned deployable/provider boundary exists", "verification": "source graph, bundle and runtime qualification", "rationale": "Keep runtimes inside supported ownership and trust boundaries." },
20
- { "rules": ["PKG-001", "PKG-002", "PKG-003", "PKG-004"], "activation": "package graph, generated contract, version family, or production deployable exists", "verification": "graph, deterministic generation, compatibility/replay", "rationale": "Keep packages directed, production graphs verified, and protocol families atomically qualified." },
21
- { "rules": ["HOST-001", "HOST-002", "HOST-003", "HOST-004"], "activation": "production deployable uses the corresponding hosting profile", "verification": "semantic, bundle and deployment qualification", "rationale": "Make runtime placement and provider limitations explicit." },
22
- { "rules": ["REL-001", "REL-002", "REL-003", "REL-004"], "activation": "applicable production objective, durable data, region/cell, or incident surface exists", "verification": "declared objective and live recovery/incident drill", "rationale": "Tie architecture to measured service and recovery behavior." },
23
- { "rules": ["DEL-001", "DEL-002", "DEL-003", "DEL-004", "DEL-005", "DEL-006"], "activation": "corresponding enabled capability, migration, release, source decision, or environment test exists", "verification": "CI, migration, release and evidence checks", "rationale": "Deliver changes compatibly and report only evidence actually reproduced." },
24
- { "rules": ["EVAL-001", "EVAL-002", "EVAL-003", "EVAL-004"], "activation": "agents, prompts, or model-backed behavior shipped to users", "verification": "eval regression, dataset versioning, sampling policy review", "rationale": "Gate agent, prompt, and model changes on reproduced evaluation evidence." },
25
- { "rules": ["MLIFE-001", "MLIFE-002", "MLIFE-003", "MLIFE-004"], "activation": "external model providers enabled or observed", "verification": "route policy, deprecation tracking, canary and pressure qualification", "rationale": "Keep model choice explicit and migratable and behavior stable under provider change and load." },
26
- { "rules": ["COST-001", "COST-002", "COST-003", "COST-004"], "activation": "metered AI, sandbox, or knowledge-processing resources exist", "verification": "attribution, budget, and cost-regression checks", "rationale": "Treat AI spend as an owned architectural resource with attribution, budgets, and deploy gates." },
27
- { "rules": ["PII-001", "PII-002", "PII-003", "PII-004"], "activation": "personal data, knowledge ingestion, external model calls, or public AI output exists", "verification": "redaction, moderation, and injection-mitigation review", "rationale": "Keep personal data and untrusted content controlled across AI trust boundaries." }
28
- ],
29
- "overrides": [
30
- { "rule": "RT-002", "classification": "preferred-default", "permittedOption": "WebSockets for an explicit bidirectional collaboration/presence requirement; durable-state and default-transport misuse is enforced under DUR-001 and RT-001" },
31
- { "rule": "HOST-002", "classification": "preferred-default", "permittedOption": "A different qualified self-host topology through project ADR" },
32
- { "rule": "DATA-002", "classification": "preferred-default", "permittedOption": "A qualified external/shared knowledge service through declared ownership contract" },
33
- { "rule": "MLIFE-003", "classification": "preferred-default", "permittedOption": "Direct rollout for a low-risk change with eval pass and one-step rollback" },
34
- { "rule": "COST-003", "classification": "preferred-default", "permittedOption": "No prompt/context caching until a measured benefit exists" }
35
- ]
36
- }
@@ -1,48 +0,0 @@
1
- # Adaptive workflows
2
-
3
- ## Greenfield
4
-
5
- Discover confirmed facts before recommending. Ask no more than three material questions at once and branch only when an answer activates a topic:
6
-
7
- 1. Product objective, users, lifecycle stage, access, tenancy mode — and the **tier** (prototype / production / enterprise), a deliberate choice the user confirms.
8
- 2. Clients: web, Flutter, public API, connectors or channels.
9
- 3. Agents, automation, ordinary jobs, untrusted execution and external effects.
10
- 4. Data classes, residency, retention, deletion, RPO/RTO and availability/latency objectives (production tier and above).
11
- 5. Hosting/self-hosting, workload/growth, team/on-call/cost, milestone, and deferrable choices.
12
-
13
- If facts are unavailable, name bounded assumptions and choose the simplest applicable default. Recommend one capability set and topology sized by the minimum-viable-architecture principle: every proposed moving service names the trigger that justifies it, and every deferred one names the trigger that would. State immediate and deferred decisions, risks, implementation order, and what evidence would qualify the design at the declared tier. Offer a slim profile draft; write only after confirmation.
14
-
15
- ## Brownfield
16
-
17
- Before asking, inspect repository instructions, manifests and locks, deployables, package graph, schemas/migrations, identity, APIs/generated clients, jobs/workflows, infra/deployment, ADRs, telemetry and runbooks. Run `profile-tool.mjs inspect` for an observed read-only draft.
18
-
19
- Separate:
20
-
21
- - current observed state;
22
- - intended state from committed artifacts;
23
- - target recommendation at the declared tier;
24
- - immediate security/correctness risks;
25
- - required migrations and rollback;
26
- - optional improvements;
27
- - runtime evidence that is not verified.
28
-
29
- Prefer incremental migration with compatibility windows and rollback over needless rewrites. Never convert detection heuristics into claims of absence or compliance.
30
-
31
- ## Reviews
32
-
33
- Identify the decision scope, gather evidence (read the relevant files; use the evidence recipes in the [advisory report contract](advisory-report.md)), and produce an advisory report: per-area grades, severity-ranked findings with evidence, questions, and not-verified items. Findings above the project's tier report as that tier's gate, not as defects.
34
-
35
- ## Other lifecycle tasks
36
-
37
- For questions and explanations, answer directly: the recommendation and at most one material risk. The full response contract applies only to design reviews, ADRs, and migration plans.
38
-
39
- - **Explanation:** answer the decision directly; load only references needed to explain it.
40
- - **ADR:** a decision record, not a waiver — capture owner, decision, alternatives, risks, and revisit trigger.
41
- - **Threat model:** model only enabled/exposed surfaces and their trust boundaries, at the tier's depth.
42
- - **Deployment:** compare declared hosting with deployables, data, secrets, recovery and rollback.
43
- - **Source drift:** refresh affected entries only; recommendations change only through review.
44
- - **Migration/removal:** distinguish current/target state, preserve compatibility, and clean durable data, credentials, queues and contracts.
45
-
46
- ## Decision horizons
47
-
48
- Sequence work as: irreversible security/data/identity boundaries; contracts and durable ownership; deployable placement and recovery; delivery scaffolding; measured optimization. Every phase names owner, verification, rollback and any decision record to update.
@@ -1,47 +0,0 @@
1
- # Refresh contract — arch-guardian
2
-
3
- Instructions for the scheduled refresh agent (and any human running a manual refresh). This file, together with `sources.json`, is the complete freshness contract for this skill.
4
-
5
- ## What this skill claims
6
-
7
- - **Durable rules** (`references/architecture/*.md`, `references/*.md|json`): versionless principles. The refresh agent NEVER edits these. If a source change invalidates a durable rule, open an issue titled `drift: <rule-id>` quoting the evidence — do not edit.
8
- - **Mechanism-coupled claims**: sentences marked `<!-- source: SOURCE-ID -->` inside references. Durable intent expressed through vendor-named mechanisms (e.g. Better Auth option names, sandbox egress API, MCP negotiation). The agent may propose edits to these marked sentences ONLY, in the same PR as the registry update that evidences the change.
9
- - **Volatile layer** (the only files the agent edits freely):
10
- - `refresh/sources.json` — the source registry and publish-time staleness snapshot (checksums, versions, retrieval times).
11
- - `references/foundation-compatibility.json` — pinned baselines and the criticalSources mirror.
12
-
13
- ## How to refresh
14
-
15
- 1. **Deterministic pass first** (no LLM judgment):
16
- `node scripts/refresh-evidence.mjs --registry refresh/sources.json`
17
- drift/version-drift/stale/unavailable results are the work-list. Exit 1 with a critical entry means fail-closed: the run must not be silently skipped. The same pass also:
18
- - queries OSV.dev for every pinned npm/PyPI package (`advisories` in the report; an advisory against a critical source's pin fails closed — the remediation is a human pin-bump decision, never silence);
19
- - warns when a `reviewBy` date in `references/foundation-compatibility.json` has passed (`reviewOverdue`) — the baseline-adoption decision is overdue, and the warning repeats every run until a human makes it.
20
- 2. **Accept verified changes** in the same code path:
21
- `node scripts/refresh-evidence.mjs --registry refresh/sources.json --accept-baselines`
22
- This writes registry, cache, and drift report together — never hand-edit checksums, versions, or timestamps; they must always come from a run.
23
- 3. **Semantic verification** only for sources the deterministic pass flagged: read the changed source (WebFetch the registry URLs), decide whether any `<!-- source: X -->` marked sentence or compatibility pin is now wrong, and propose the minimal edit.
24
- 4. **One standing refresh PR**, branch `refresh/weekly`, force-updated on every run (never stacked duplicates; the weekly workflow .github/workflows/refresh.yml maintains it). PR body lists: each changed source, old→new version/checksum, links to the evidence, and which marked sentences changed and why.
25
- 5. Changes to durable rules, scripts, SKILL.md, assets, or tests are out of scope for a refresh PR — CI enforces this (refresh-guard workflow).
26
-
27
- ## Cadence and thresholds
28
-
29
- Weekly scheduled run. Every `thresholdDays` in `sources.json` is ≥ 14 (2× cadence) so one missed run never breaches a threshold. Sources that would genuinely need faster tracking get a daily deterministic-only version check, not a lower threshold.
30
-
31
- ## What counts as drift worth a PR
32
-
33
- - A pinned package/spec version changed (npm/pypi detection) → update `currentVersion`; if the supported baseline should move, that is a **separate human decision**, flagged in the PR body, never auto-applied to `foundation-compatibility.json` families.
34
- - A doc page's text-scope checksum changed → read the page; if the mechanism a marked sentence names changed, propose the sentence edit; if it is editorial churn, accept the baseline silently. Known per-request-churn sources (Google properties: `FCM-DOCS`, `GOOGLE-MODELS`) drift on nearly every fetch — their checksum drift alone is never a semantic signal; rely on their version/manual review instead.
35
- - A critical source is unavailable or a redirect leaves the approved host set → investigate immediately; host changes require a deliberate `approvedHosts` update in `scripts/refresh-evidence.mjs` (out of refresh-PR scope — open an issue).
36
- - An OSV advisory against a pinned package → propose the pin bump (with its qualification implications) in the PR body; never drop the advisory from the report.
37
-
38
- ## Research index
39
-
40
- Registry entries carry an optional `llms` URL (the vendor's published `llms.txt`) alongside `docsIndex`. Agents answering questions that need current detail beyond a pinned claim should fetch the source's `llms` or `docsIndex` URL (or use an available docs MCP) — the registry doubles as the live research index, not just freshness metadata.
41
-
42
- ## Never
43
-
44
- - Never edit rule IDs, MUST/SHOULD wording, or unmarked sentences.
45
- - Never expire, edit, or reference project ADRs — drift requests review; it never silently expires an ADR.
46
- - Never hand-write checksum/version/timestamp values.
47
- - Never archive third-party documentation bodies in this repo (claim metadata, URLs, hashes, and concise excerpts only).