rdap-q 1.2.4 → 1.2.5

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 (59) hide show
  1. package/.agents/plugins/rdap-q/plugin.json +1 -1
  2. package/.agents/skills/rdap-q/README.md +1 -1
  3. package/.agents/skills/rdap-q/SKILL.md +17 -3
  4. package/.agents/skills/rdap-q/core/controller.md +3 -3
  5. package/.agents/skills/rdap-q/core/gates.md +1 -1
  6. package/.agents/skills/rdap-q/core/memory.md +37 -3
  7. package/.agents/skills/rdap-q/manifest.json +1 -1
  8. package/.agents/skills/rdap-q/memory/README.md +3 -0
  9. package/.agents/skills/rdap-q/memory/index.md +3 -0
  10. package/.agents/skills/rdap-q/playbooks/00-bootstrap.md +5 -2
  11. package/.agents/skills/rdap-q/playbooks/06-final-audit.md +3 -2
  12. package/.agents/skills/rdap-q/state/README.md +2 -0
  13. package/.claude/commands/rdapq.md +1 -1
  14. package/.claude-plugin/marketplace.json +1 -1
  15. package/.claude-plugin/plugin-index.json +1 -1
  16. package/.claude-plugin/plugin.json +1 -1
  17. package/.clinerules +1 -1
  18. package/.codex/skill.json +1 -1
  19. package/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  20. package/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  21. package/.github/copilot-instructions.md +1 -1
  22. package/.goosehints +1 -1
  23. package/.grok/rules.md +1 -1
  24. package/.grok/skill.json +1 -1
  25. package/.grok-plugin/marketplace.json +1 -1
  26. package/.grok-plugin/plugin-index.json +1 -1
  27. package/AGENTS.md +1 -1
  28. package/CLAUDE.md +1 -1
  29. package/GEMINI.md +1 -1
  30. package/README.md +7 -7
  31. package/agentskills.json +1 -1
  32. package/manifest.json +1 -1
  33. package/marketplace.json +1 -1
  34. package/package.json +1 -1
  35. package/plugin.json +1 -1
  36. package/plugins/rdap-q/plugin.json +1 -1
  37. package/plugins/rdap-q/skills/rdap-q/README.md +1 -1
  38. package/plugins/rdap-q/skills/rdap-q/SKILL.md +17 -3
  39. package/plugins/rdap-q/skills/rdap-q/core/controller.md +3 -3
  40. package/plugins/rdap-q/skills/rdap-q/core/gates.md +1 -1
  41. package/plugins/rdap-q/skills/rdap-q/core/memory.md +37 -3
  42. package/plugins/rdap-q/skills/rdap-q/manifest.json +1 -1
  43. package/plugins/rdap-q/skills/rdap-q/memory/README.md +3 -0
  44. package/plugins/rdap-q/skills/rdap-q/memory/index.md +3 -0
  45. package/plugins/rdap-q/skills/rdap-q/playbooks/00-bootstrap.md +5 -2
  46. package/plugins/rdap-q/skills/rdap-q/playbooks/06-final-audit.md +3 -2
  47. package/plugins/rdap-q/skills/rdap-q/state/README.md +2 -0
  48. package/rdap-q-skill/README.md +1 -1
  49. package/rdap-q-skill/SKILL.md +17 -3
  50. package/rdap-q-skill/core/controller.md +3 -3
  51. package/rdap-q-skill/core/gates.md +1 -1
  52. package/rdap-q-skill/core/memory.md +37 -3
  53. package/rdap-q-skill/manifest.json +1 -1
  54. package/rdap-q-skill/memory/README.md +3 -0
  55. package/rdap-q-skill/memory/index.md +3 -0
  56. package/rdap-q-skill/playbooks/00-bootstrap.md +5 -2
  57. package/rdap-q-skill/playbooks/06-final-audit.md +3 -2
  58. package/rdap-q-skill/state/README.md +2 -0
  59. package/skills.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rdap-q",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "RDAP-Q Agent Engineering Protocol plugin with progressive disclosure playbooks and calibrated scoring.",
5
5
  "rules": [
6
6
  "../../../AGENTS.md"
@@ -1,4 +1,4 @@
1
- # RDAP-Q Skill v1.2.4
1
+ # RDAP-Q Skill v1.2.5
2
2
 
3
3
  `SKILL.md` is the instruction source. This README is not a second copy of the protocol.
4
4
 
@@ -4,14 +4,26 @@ description: Run the RDAP-Q evidence-first engineering protocol. Invoke with /rd
4
4
  disable-model-invocation: true
5
5
  ---
6
6
  name: rdap-q
7
- version: "1.2.4"
7
+ version: "1.2.5"
8
8
  description: Evidence-first engineering protocol. Load this file, then the current phase playbook only.
9
9
  invocation: /rdapq
10
10
  home_env: RDAPQ_HOME
11
11
  home: RDAPQ_HOME else ~/.rdapq (Windows %USERPROFILE%\.rdapq)
12
12
  state: .rdapq/state
13
13
  memory: $RDAPQ_HOME/memory
14
+ memory_index: $RDAPQ_HOME/memory/index.md
14
15
  facts: [OBSERVED, USER_SPECIFIED, VERIFIED_EXTERNAL, INFERRED, UNKNOWN]
16
+ memory_caps:
17
+ load_full_records: 12
18
+ load_index_rows: 80
19
+ fact_chars: 240
20
+ evidence_chars: 160
21
+ file_bytes: 24576
22
+ global_active: 80
23
+ project_active: 40
24
+ state_evidence_records: 80
25
+ state_iteration_rounds: 20
26
+ state_file_bytes: 49152
15
27
  rules:
16
28
  - evidence before inference; never invent paths, APIs, versions, flags, tests, env, or architecture
17
29
  - INFERRED or UNKNOWN cannot decide implementation when verification is possible
@@ -21,12 +33,14 @@ rules:
21
33
  - task state stays in .rdapq/state; memory is reusable only; current evidence beats memory
22
34
  - never store secret values; a source plus an identifier is allowed
23
35
  - do not load manifest.json, other playbooks, diagrams, or bulk memory
36
+ - load memory/index.md first, then at most 12 matching full records; compact before work if over cap
37
+ - never bulk-read memory/ or projects/; never gzip, base64, or one-line-tarball memory
24
38
  commands:
25
39
  status: phase, quality, confidence, gates, blockers, iteration
26
40
  score: evidence-linked scorecard
27
41
  audit: adversarial final audit
28
- resume: reload memory and state, then check drift
29
- memory: relevant memories and status; never print secrets
42
+ resume: compact if over cap, reload index and hits plus state, then check drift
43
+ memory: relevant ACTIVE memories and status; never print secrets; never dump the store
30
44
  research: discovery
31
45
  explain: why this phase or exit
32
46
  weights: {correctness: 25, coverage: 15, verification: 15, integration: 10, security: 10, maintainability: 10, architecture: 8, operability: 7}
@@ -1,14 +1,14 @@
1
1
  when: whole_loop_or_ambiguous_next_state
2
2
  order:
3
3
  - resolve home; if unwritable, record it and use repo state
4
- - load SKILL.md, repo root, relevant memory, then .rdapq/state if present
4
+ - load SKILL.md, repo root, memory index, compact if over cap, then at most 12 hits, then .rdapq/state if present
5
5
  - load the current playbook only; observe before acting
6
6
  - update facts, assumptions, evidence, risks, decisions
7
7
  - milestone: verify, review, score, gate, decide, persist
8
8
  - invalid plan -> PLAN; worthwhile fix -> iterate
9
9
  - gates pass and diminishing -> audit, then COMPLETE
10
10
  - else emit the accurate non-complete terminal state
11
- - promote only durable lessons
11
+ - promote only durable lessons that pass write_forbid and caps
12
12
  precedence: [user_intent, direct_evidence, repo_state, project_memory, global_memory, external_for_this_version, inference]
13
13
  replan_if_changes: [scope, architecture, dependencies, sequencing, risk, verification, success_criteria]
14
- context: targeted reads; do not replay chat or load the whole skill tree
14
+ context: targeted reads; do not replay chat or load the whole skill tree; never bulk-read memory/
@@ -8,5 +8,5 @@ gates:
8
8
  regression: [existing_tests_pass, no_known_material_regression]
9
9
  security: [no_new_material_issue, no_secrets_stored, destructive_safeguards, risk_proportional_checks]
10
10
  repository: [diff_reviewed, no_unintended_files, no_conflicts, state_understood, unrelated_work_kept]
11
- memory: [no_secrets, promotion_test, stale_handled, state_not_promoted_as_global]
11
+ memory: [no_secrets, promotion_test, stale_handled, state_not_promoted_as_global, under_cap, index_current]
12
12
  quality: target_met_or_diminishing_returns_and_other_gates_pass
@@ -2,10 +2,44 @@ scopes:
2
2
  global: "$RDAPQ_HOME/memory/{engineering-preferences,tooling,lessons,patterns,constraints}.md"
3
3
  project: "$RDAPQ_HOME/projects/<id>/{project,architecture,lessons,decisions}.md"
4
4
  task: .rdapq/state
5
+ index: "$RDAPQ_HOME/memory/index.md"
6
+ load: index_then_hits
5
7
  promote_if_all: [durable, reusable, material, safe, grounded]
6
8
  record: {id: M-<id>, scope: "global|project:<id>", status: [ACTIVE, STALE, SUPERSEDED, INVALID], class: [USER_SPECIFIED, OBSERVED, VERIFIED_EXTERNAL, INFERRED], confidence: "0-10", verified: YYYY-MM-DD, supersedes: "id|none", superseded_by: "id|none", fact: str, evidence: str}
9
+ index_row: {id: M-<id>, kind: str, scope: "global|project:<id>", status: str, class: str, one_line: str}
7
10
  secrets: never values; source plus identifier only
8
11
  on_conflict: trust direct evidence; mark STALE, SUPERSEDED, or INVALID; link ids; do not silent-delete
9
- load: relevant project, then relevant global
10
- memory_cmd: relevant entries, status, conflicts; never print secrets
11
- resume: home, project memory, repo state, last phase, inspect drift, continue at first unverified step
12
+ load_order: relevant index rows, then matching full records, project before global
13
+ memory_cmd: relevant ACTIVE entries, status, conflicts; never print secrets; never dump the store
14
+ resume: home, index, compact if over cap, load hits, repo state, last phase, inspect drift, continue at first unverified step
15
+ caps:
16
+ load_full_records: 12
17
+ load_index_rows: 80
18
+ fact_chars: 240
19
+ evidence_chars: 160
20
+ file_bytes: 24576
21
+ global_active: 80
22
+ project_active: 40
23
+ state_evidence_records: 80
24
+ state_iteration_rounds: 20
25
+ state_file_bytes: 49152
26
+ refuse:
27
+ - bulk_read of memory/ or projects/
28
+ - diagrams (.mmd)
29
+ - manifest.json
30
+ - playbooks other than current phase
31
+ - gzip, base64, or one-line tarball encodings
32
+ write_forbid:
33
+ - secret values
34
+ - command output, diffs, logs, chat
35
+ - INFERRED when verification was possible
36
+ - duplicate of an ACTIVE one_line
37
+ - fact longer than fact_chars
38
+ - evidence longer than evidence_chars
39
+ - promoting .rdapq/state into global memory
40
+ on_cap:
41
+ stop_append: true
42
+ compact: [STALE, SUPERSEDED, INVALID]
43
+ overflow: archive to memory/archive/YYYY-MM.md
44
+ say: "MEMORY_CAP — compacted, not loaded"
45
+ over_cap_without_safe_compact: stop promoting; emit MEMORY_CAP; do not keep appending
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rdap-q",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "protocol_name": "RDAP-Q Agent Engineering Protocol",
5
5
  "entrypoint": "SKILL.md",
6
6
  "invocation": "/rdapq",
@@ -1,4 +1,7 @@
1
1
  role: durable memory
2
2
  path: $RDAPQ_HOME/memory
3
+ index: $RDAPQ_HOME/memory/index.md
3
4
  schema: core/memory.md
5
+ load: index_then_hits
4
6
  promote_if: [durable, reusable, material, safe, grounded]
7
+ caps: SKILL.md memory_caps
@@ -0,0 +1,3 @@
1
+ schema: core/memory.md
2
+ load: index_then_hits
3
+ records: []
@@ -1,7 +1,10 @@
1
1
  phase: BOOTSTRAP
2
2
  do:
3
3
  - resolve home from SKILL.md; if unwritable, record that and use repo state only
4
- - read task-relevant project memory, then global memory; do not bulk-load
4
+ - read memory/index.md; do not bulk-load memory/ or projects/
5
+ - if any memory or state file exceeds SKILL.md memory_caps, compact first: archive overflow, mark STALE/SUPERSEDED out of the load set, rewrite the index
6
+ - if compact would require guessing, emit MEMORY_CAP, stop promoting, continue with repo state only
7
+ - load at most 12 matching full records (project before global, ACTIVE only)
5
8
  - inspect root, status, branch, remotes, worktrees, languages, manifests, lockfiles, test, CI
6
9
  - do not assume main, a remote, or a package manager
7
10
  - create .rdapq/state files on first write; do not preload every template
@@ -14,4 +17,4 @@ inspect:
14
17
  git_mutation: playbooks/07-git-worktree.md # worktree, commit, push, or audit cleanup only
15
18
  out: [scope, assumptions, evidence, risks, iteration-log]
16
19
  next: DISCOVERY
17
- forbid: [imagined_repo, destroying_unrelated_work]
20
+ forbid: [imagined_repo, destroying_unrelated_work, bulk_memory, diagrams, gzip_memory]
@@ -1,7 +1,8 @@
1
1
  phase: AUDIT
2
2
  stance: disprove completion
3
- ask: [misread_requirement, unexercised_path, untested_failure, inferred_claim, stale_memory, false_dependency, regression, malformed_input, dependency_down, observable_errors, secrets, races, unintended_interface_change, extra_dependency, debug_or_unused, docs_match, diff_matches_scope]
4
- memory: [candidates, promotion_test, write_approved_only, invalidate_stale, no_secrets]
3
+ ask: [misread_requirement, unexercised_path, untested_failure, inferred_claim, stale_memory, false_dependency, regression, malformed_input, dependency_down, observable_errors, secrets, races, unintended_interface_change, extra_dependency, debug_or_unused, docs_match, diff_matches_scope, memory_over_cap, index_stale]
4
+ memory: [candidates, promotion_test, write_approved_only, invalidate_stale, no_secrets, under_cap, index_current]
5
5
  report: [quality, confidence, coverage, gates, defects, unknowns, history, best_remaining, aqc]
6
6
  complete_only_if: all_applicable_gates_pass
7
+ fail_memory_gate_if: [secrets_stored, over_cap_uncompacted, index_missing_when_records_exist, bulk_memory_loaded, state_promoted_as_global]
7
8
  say: "Vibe Code Build complete."
@@ -2,3 +2,5 @@ role: task state, not durable memory
2
2
  path: .rdapq/state
3
3
  create: on first write
4
4
  secrets: never
5
+ caps: {evidence_records: 80, iteration_rounds: 20, file_bytes: 49152}
6
+ store: ids and outcomes, not log bodies
@@ -1,5 +1,5 @@
1
1
  protocol: RDAP-Q
2
- version: "1.2.4"
2
+ version: "1.2.5"
3
3
  on: [/rdapq, /rdap-q]
4
4
  load: .agents/skills/rdap-q/SKILL.md
5
5
  fallback: rdap-q-skill/SKILL.md
@@ -8,7 +8,7 @@
8
8
  "plugins": [
9
9
  {
10
10
  "name": "rdap-q",
11
- "version": "1.2.4",
11
+ "version": "1.2.5",
12
12
  "description": "Vendor-neutral engineering protocol for evidence-first software development, persistent state, calibrated 0-10 scoring, and diminishing-return exit gates.",
13
13
  "category": "development",
14
14
  "author": {
@@ -2,7 +2,7 @@
2
2
  "version": 1,
3
3
  "plugins": {
4
4
  "rdap-q": {
5
- "version": "1.2.4",
5
+ "version": "1.2.5",
6
6
  "components": {
7
7
  "skills": [
8
8
  {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rdap-q",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "displayName": "RDAP-Q: Adaptive Planning with Quality Gates",
5
5
  "description": "Vendor-neutral Research-Driven Adaptive Planning with Quality Gates protocol for Claude Code. Enforces evidence-first engineering, calibrated 0-10 scoring, and diminishing-return exit gates.",
6
6
  "author": {
package/.clinerules CHANGED
@@ -1,5 +1,5 @@
1
1
  protocol: RDAP-Q
2
- version: "1.2.4"
2
+ version: "1.2.5"
3
3
  on: [/rdapq, /rdap-q]
4
4
  load: .agents/skills/rdap-q/SKILL.md
5
5
  fallback: rdap-q-skill/SKILL.md
package/.codex/skill.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rdap-q",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "harness": "codex",
5
5
  "rules": "AGENTS.md",
6
6
  "entrypoint": "rdap-q-skill/SKILL.md",
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Describe the bug**
11
+ A clear and concise description of what the bug is.
12
+
13
+ **To Reproduce**
14
+ Steps to reproduce the behavior:
15
+ 1. Go to '...'
16
+ 2. Click on '....'
17
+ 3. Scroll down to '....'
18
+ 4. See error
19
+
20
+ **Expected behavior**
21
+ A clear and concise description of what you expected to happen.
22
+
23
+ **Screenshots**
24
+ If applicable, add screenshots to help explain your problem.
25
+
26
+ **Desktop (please complete the following information):**
27
+ - OS: [e.g. iOS]
28
+ - Browser [e.g. chrome, safari]
29
+ - Version [e.g. 22]
30
+
31
+ **Smartphone (please complete the following information):**
32
+ - Device: [e.g. iPhone6]
33
+ - OS: [e.g. iOS8.1]
34
+ - Browser [e.g. stock browser, safari]
35
+ - Version [e.g. 22]
36
+
37
+ **Additional context**
38
+ Add any other context about the problem here.
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Is your feature request related to a problem? Please describe.**
11
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12
+
13
+ **Describe the solution you'd like**
14
+ A clear and concise description of what you want to happen.
15
+
16
+ **Describe alternatives you've considered**
17
+ A clear and concise description of any alternative solutions or features you've considered.
18
+
19
+ **Additional context**
20
+ Add any other context or screenshots about the feature request here.
@@ -1,5 +1,5 @@
1
1
  protocol: RDAP-Q
2
- version: "1.2.4"
2
+ version: "1.2.5"
3
3
  on: [/rdapq, /rdap-q]
4
4
  load: .agents/skills/rdap-q/SKILL.md
5
5
  fallback: rdap-q-skill/SKILL.md
package/.goosehints CHANGED
@@ -1,5 +1,5 @@
1
1
  protocol: RDAP-Q
2
- version: "1.2.4"
2
+ version: "1.2.5"
3
3
  on: [/rdapq, /rdap-q]
4
4
  load: .agents/skills/rdap-q/SKILL.md
5
5
  fallback: rdap-q-skill/SKILL.md
package/.grok/rules.md CHANGED
@@ -1,5 +1,5 @@
1
1
  protocol: RDAP-Q
2
- version: "1.2.4"
2
+ version: "1.2.5"
3
3
  on: [/rdapq, /rdap-q]
4
4
  load: .agents/skills/rdap-q/SKILL.md
5
5
  fallback: rdap-q-skill/SKILL.md
package/.grok/skill.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rdap-q",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "harness": "grok",
5
5
  "rules": ".grok/rules.md",
6
6
  "entrypoint": "rdap-q-skill/SKILL.md",
@@ -8,7 +8,7 @@
8
8
  "plugins": [
9
9
  {
10
10
  "name": "rdap-q",
11
- "version": "1.2.4",
11
+ "version": "1.2.5",
12
12
  "description": "Vendor-neutral engineering protocol for evidence-first software development, persistent state, calibrated 0-10 scoring, and diminishing-return exit gates.",
13
13
  "category": "development",
14
14
  "author": {
@@ -2,7 +2,7 @@
2
2
  "version": 1,
3
3
  "plugins": {
4
4
  "rdap-q": {
5
- "version": "1.2.4",
5
+ "version": "1.2.5",
6
6
  "components": {
7
7
  "skills": [
8
8
  {
package/AGENTS.md CHANGED
@@ -1,5 +1,5 @@
1
1
  protocol: RDAP-Q
2
- version: "1.2.4"
2
+ version: "1.2.5"
3
3
  on: [/rdapq, /rdap-q]
4
4
  load: .agents/skills/rdap-q/SKILL.md
5
5
  fallback: rdap-q-skill/SKILL.md
package/CLAUDE.md CHANGED
@@ -1,5 +1,5 @@
1
1
  protocol: RDAP-Q
2
- version: "1.2.4"
2
+ version: "1.2.5"
3
3
  on: [/rdapq, /rdap-q]
4
4
  load: .agents/skills/rdap-q/SKILL.md
5
5
  fallback: rdap-q-skill/SKILL.md
package/GEMINI.md CHANGED
@@ -1,5 +1,5 @@
1
1
  protocol: RDAP-Q
2
- version: "1.2.4"
2
+ version: "1.2.5"
3
3
  on: [/rdapq, /rdap-q]
4
4
  load: .agents/skills/rdap-q/SKILL.md
5
5
  fallback: rdap-q-skill/SKILL.md
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  [![CI](https://github.com/coldcanuk/rdapq/actions/workflows/ci.yml/badge.svg)](https://github.com/coldcanuk/rdapq/actions/workflows/ci.yml)
5
5
  [![License: GPL-3.0](https://img.shields.io/badge/License-GPL--3.0-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
6
- [![Protocol Version](https://img.shields.io/badge/Protocol-v1.2.4-emerald.svg)](https://github.com/coldcanuk/rdapq)
6
+ [![Protocol Version](https://img.shields.io/badge/Protocol-v1.2.5-emerald.svg)](https://github.com/coldcanuk/rdapq)
7
7
  [![Command](https://img.shields.io/badge/Command-%2Frdapq-purple.svg)](https://github.com/coldcanuk/rdapq)
8
8
  [![Marketplace: Universal](https://img.shields.io/badge/Marketplace-Ready-orange.svg)](https://github.com/coldcanuk/rdapq/blob/main/marketplace.json)
9
9
  [![Codex](https://img.shields.io/badge/OpenAI%20Codex-Supported-green.svg)](#in-harness-marketplace-installation)
@@ -29,7 +29,7 @@
29
29
  "@type": "SoftwareSourceCode",
30
30
  "name": "RDAP-Q",
31
31
  "alternateName": "Research-Driven Adaptive Planning with Quality Gates",
32
- "version": "1.2.4",
32
+ "version": "1.2.5",
33
33
  "description": "Universal AI agent engineering protocol for evidence-first software development, calibrated scoring, and diminishing-return exit gates across OpenAI Codex, xAI Grok, GitHub Copilot, Google Antigravity, Block Goose, Anthropic Claude, Cline, and Cursor.",
34
34
  "codeRepository": "https://github.com/coldcanuk/rdapq",
35
35
  "license": "https://www.gnu.org/licenses/gpl-3.0",
@@ -148,7 +148,7 @@ That is optional. It is not required for `install --claude` or `init`.
148
148
 
149
149
  ## <a id="npm-npx-installation"></a> ⚡ Install
150
150
 
151
- Node.js 18 or newer is required. Install from [`rdap-q`](https://www.npmjs.com/package/rdap-q) on the public npm registry. This tree is package version **1.2.4**. Do not pipe an installer from the network (`curl | bash`, `irm | iex`). A piped script cannot see the skill tree and is refused.
151
+ Node.js 18 or newer is required. Install from [`rdap-q`](https://www.npmjs.com/package/rdap-q) on the public npm registry. This tree is package version **1.2.5**. Do not pipe an installer from the network (`curl | bash`, `irm | iex`). A piped script cannot see the skill tree and is refused.
152
152
 
153
153
  `SKILL.md` is the instruction source the agent loads. This README is the human guide.
154
154
 
@@ -168,7 +168,7 @@ npx --yes rdap-q install --cursor
168
168
  npx --yes rdap-q install --codex --grok
169
169
 
170
170
  # This release, not whatever is tagged latest later:
171
- npx --yes rdap-q@1.2.4 install --claude
171
+ npx --yes rdap-q@1.2.5 install --claude
172
172
  ```
173
173
 
174
174
  ### All 8 harnesses:
@@ -264,7 +264,7 @@ npx --yes rdap-q@latest status
264
264
  Use the same harness flags you used the first time. `--cursor` above is only an example. To stay on this release:
265
265
 
266
266
  ```bash
267
- npx --yes rdap-q@1.2.4 install --cursor
267
+ npx --yes rdap-q@1.2.5 install --cursor
268
268
  ```
269
269
 
270
270
  ### Command installed globally
@@ -278,7 +278,7 @@ rdapq status
278
278
  ```bash
279
279
  cd rdapq
280
280
  git fetch origin --tags
281
- git checkout v1.2.4 # or: git pull origin main
281
+ git checkout v1.2.5 # or: git pull origin main
282
282
  ./install.sh --claude # same flags as the first install
283
283
  ./install.sh status
284
284
  ```
@@ -286,7 +286,7 @@ git checkout v1.2.4 # or: git pull origin main
286
286
  ```powershell
287
287
  cd rdapq
288
288
  git fetch origin --tags
289
- git checkout v1.2.4
289
+ git checkout v1.2.5
290
290
  .\install.ps1 -Claude
291
291
  node .\bin\rdapq.js status
292
292
  ```
package/agentskills.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/agent-skills/spec/main/agentskills.schema.json",
3
3
  "name": "rdap-q",
4
- "version": "1.2.4",
4
+ "version": "1.2.5",
5
5
  "type": "skill",
6
6
  "entrypoint": "rdap-q-skill/SKILL.md",
7
7
  "invocation": "/rdapq",
package/manifest.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rdap-q",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "protocol_name": "RDAP-Q Agent Engineering Protocol",
5
5
  "entrypoint": "rdap-q-skill/SKILL.md",
6
6
  "invocation": "/rdapq",
package/marketplace.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://raw.githubusercontent.com/agent-skills/spec/main/marketplace.schema.json",
3
3
  "name": "rdap-q",
4
4
  "displayName": "RDAP-Q: Adaptive Planning with Quality Gates",
5
- "version": "1.2.4",
5
+ "version": "1.2.5",
6
6
  "protocol": "RDAP-Q Agent Engineering Protocol",
7
7
  "summary": "Universal AI agent engineering protocol for evidence-first software development, calibrated scoring, and quality gates across Codex, Grok, Copilot, Antigravity, Goose, Claude, Cline, and Cursor.",
8
8
  "description": "Vendor-neutral Research-Driven Adaptive Planning with Quality Gates (RDAP-Q) enables autonomous AI coding agents to execute non-trivial software tasks with disciplined evidence collection, deterministic phase execution, persistent project state, calibrated quality scoring (0-10 scale), and diminishing-return exit logic. Native support for OpenAI Codex, xAI Grok, GitHub Copilot, Google Antigravity, Block Goose, Anthropic Claude, Cline, and Cursor.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rdap-q",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "Research-Driven Adaptive Planning with Quality Gates (RDAP-Q) — Vendor-neutral AI agent engineering protocol & skill for Codex, Grok, Copilot, Antigravity, Goose, Claude, Cline, and Cursor. Evidence-first software engineering, persistent memory, and calibrated quality gates.",
5
5
  "main": "rdap-q-skill/SKILL.md",
6
6
  "bin": {
package/plugin.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rdap-q",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "Research-Driven Adaptive Planning with Quality Gates protocol plugin for Google Antigravity & AI agents.",
5
5
  "rules": [
6
6
  "GEMINI.md",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rdap-q",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "Research-Driven Adaptive Planning with Quality Gates protocol for evidence-first software engineering and diminishing-return exit gates.",
5
5
  "author": {
6
6
  "name": "coldcanuk"
@@ -1,4 +1,4 @@
1
- # RDAP-Q Skill v1.2.4
1
+ # RDAP-Q Skill v1.2.5
2
2
 
3
3
  `SKILL.md` is the instruction source. This README is not a second copy of the protocol.
4
4
 
@@ -4,14 +4,26 @@ description: Run the RDAP-Q evidence-first engineering protocol. Invoke with /rd
4
4
  disable-model-invocation: true
5
5
  ---
6
6
  name: rdap-q
7
- version: "1.2.4"
7
+ version: "1.2.5"
8
8
  description: Evidence-first engineering protocol. Load this file, then the current phase playbook only.
9
9
  invocation: /rdapq
10
10
  home_env: RDAPQ_HOME
11
11
  home: RDAPQ_HOME else ~/.rdapq (Windows %USERPROFILE%\.rdapq)
12
12
  state: .rdapq/state
13
13
  memory: $RDAPQ_HOME/memory
14
+ memory_index: $RDAPQ_HOME/memory/index.md
14
15
  facts: [OBSERVED, USER_SPECIFIED, VERIFIED_EXTERNAL, INFERRED, UNKNOWN]
16
+ memory_caps:
17
+ load_full_records: 12
18
+ load_index_rows: 80
19
+ fact_chars: 240
20
+ evidence_chars: 160
21
+ file_bytes: 24576
22
+ global_active: 80
23
+ project_active: 40
24
+ state_evidence_records: 80
25
+ state_iteration_rounds: 20
26
+ state_file_bytes: 49152
15
27
  rules:
16
28
  - evidence before inference; never invent paths, APIs, versions, flags, tests, env, or architecture
17
29
  - INFERRED or UNKNOWN cannot decide implementation when verification is possible
@@ -21,12 +33,14 @@ rules:
21
33
  - task state stays in .rdapq/state; memory is reusable only; current evidence beats memory
22
34
  - never store secret values; a source plus an identifier is allowed
23
35
  - do not load manifest.json, other playbooks, diagrams, or bulk memory
36
+ - load memory/index.md first, then at most 12 matching full records; compact before work if over cap
37
+ - never bulk-read memory/ or projects/; never gzip, base64, or one-line-tarball memory
24
38
  commands:
25
39
  status: phase, quality, confidence, gates, blockers, iteration
26
40
  score: evidence-linked scorecard
27
41
  audit: adversarial final audit
28
- resume: reload memory and state, then check drift
29
- memory: relevant memories and status; never print secrets
42
+ resume: compact if over cap, reload index and hits plus state, then check drift
43
+ memory: relevant ACTIVE memories and status; never print secrets; never dump the store
30
44
  research: discovery
31
45
  explain: why this phase or exit
32
46
  weights: {correctness: 25, coverage: 15, verification: 15, integration: 10, security: 10, maintainability: 10, architecture: 8, operability: 7}
@@ -1,14 +1,14 @@
1
1
  when: whole_loop_or_ambiguous_next_state
2
2
  order:
3
3
  - resolve home; if unwritable, record it and use repo state
4
- - load SKILL.md, repo root, relevant memory, then .rdapq/state if present
4
+ - load SKILL.md, repo root, memory index, compact if over cap, then at most 12 hits, then .rdapq/state if present
5
5
  - load the current playbook only; observe before acting
6
6
  - update facts, assumptions, evidence, risks, decisions
7
7
  - milestone: verify, review, score, gate, decide, persist
8
8
  - invalid plan -> PLAN; worthwhile fix -> iterate
9
9
  - gates pass and diminishing -> audit, then COMPLETE
10
10
  - else emit the accurate non-complete terminal state
11
- - promote only durable lessons
11
+ - promote only durable lessons that pass write_forbid and caps
12
12
  precedence: [user_intent, direct_evidence, repo_state, project_memory, global_memory, external_for_this_version, inference]
13
13
  replan_if_changes: [scope, architecture, dependencies, sequencing, risk, verification, success_criteria]
14
- context: targeted reads; do not replay chat or load the whole skill tree
14
+ context: targeted reads; do not replay chat or load the whole skill tree; never bulk-read memory/
@@ -8,5 +8,5 @@ gates:
8
8
  regression: [existing_tests_pass, no_known_material_regression]
9
9
  security: [no_new_material_issue, no_secrets_stored, destructive_safeguards, risk_proportional_checks]
10
10
  repository: [diff_reviewed, no_unintended_files, no_conflicts, state_understood, unrelated_work_kept]
11
- memory: [no_secrets, promotion_test, stale_handled, state_not_promoted_as_global]
11
+ memory: [no_secrets, promotion_test, stale_handled, state_not_promoted_as_global, under_cap, index_current]
12
12
  quality: target_met_or_diminishing_returns_and_other_gates_pass
@@ -2,10 +2,44 @@ scopes:
2
2
  global: "$RDAPQ_HOME/memory/{engineering-preferences,tooling,lessons,patterns,constraints}.md"
3
3
  project: "$RDAPQ_HOME/projects/<id>/{project,architecture,lessons,decisions}.md"
4
4
  task: .rdapq/state
5
+ index: "$RDAPQ_HOME/memory/index.md"
6
+ load: index_then_hits
5
7
  promote_if_all: [durable, reusable, material, safe, grounded]
6
8
  record: {id: M-<id>, scope: "global|project:<id>", status: [ACTIVE, STALE, SUPERSEDED, INVALID], class: [USER_SPECIFIED, OBSERVED, VERIFIED_EXTERNAL, INFERRED], confidence: "0-10", verified: YYYY-MM-DD, supersedes: "id|none", superseded_by: "id|none", fact: str, evidence: str}
9
+ index_row: {id: M-<id>, kind: str, scope: "global|project:<id>", status: str, class: str, one_line: str}
7
10
  secrets: never values; source plus identifier only
8
11
  on_conflict: trust direct evidence; mark STALE, SUPERSEDED, or INVALID; link ids; do not silent-delete
9
- load: relevant project, then relevant global
10
- memory_cmd: relevant entries, status, conflicts; never print secrets
11
- resume: home, project memory, repo state, last phase, inspect drift, continue at first unverified step
12
+ load_order: relevant index rows, then matching full records, project before global
13
+ memory_cmd: relevant ACTIVE entries, status, conflicts; never print secrets; never dump the store
14
+ resume: home, index, compact if over cap, load hits, repo state, last phase, inspect drift, continue at first unverified step
15
+ caps:
16
+ load_full_records: 12
17
+ load_index_rows: 80
18
+ fact_chars: 240
19
+ evidence_chars: 160
20
+ file_bytes: 24576
21
+ global_active: 80
22
+ project_active: 40
23
+ state_evidence_records: 80
24
+ state_iteration_rounds: 20
25
+ state_file_bytes: 49152
26
+ refuse:
27
+ - bulk_read of memory/ or projects/
28
+ - diagrams (.mmd)
29
+ - manifest.json
30
+ - playbooks other than current phase
31
+ - gzip, base64, or one-line tarball encodings
32
+ write_forbid:
33
+ - secret values
34
+ - command output, diffs, logs, chat
35
+ - INFERRED when verification was possible
36
+ - duplicate of an ACTIVE one_line
37
+ - fact longer than fact_chars
38
+ - evidence longer than evidence_chars
39
+ - promoting .rdapq/state into global memory
40
+ on_cap:
41
+ stop_append: true
42
+ compact: [STALE, SUPERSEDED, INVALID]
43
+ overflow: archive to memory/archive/YYYY-MM.md
44
+ say: "MEMORY_CAP — compacted, not loaded"
45
+ over_cap_without_safe_compact: stop promoting; emit MEMORY_CAP; do not keep appending
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rdap-q",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "protocol_name": "RDAP-Q Agent Engineering Protocol",
5
5
  "entrypoint": "SKILL.md",
6
6
  "invocation": "/rdapq",
@@ -1,4 +1,7 @@
1
1
  role: durable memory
2
2
  path: $RDAPQ_HOME/memory
3
+ index: $RDAPQ_HOME/memory/index.md
3
4
  schema: core/memory.md
5
+ load: index_then_hits
4
6
  promote_if: [durable, reusable, material, safe, grounded]
7
+ caps: SKILL.md memory_caps
@@ -0,0 +1,3 @@
1
+ schema: core/memory.md
2
+ load: index_then_hits
3
+ records: []
@@ -1,7 +1,10 @@
1
1
  phase: BOOTSTRAP
2
2
  do:
3
3
  - resolve home from SKILL.md; if unwritable, record that and use repo state only
4
- - read task-relevant project memory, then global memory; do not bulk-load
4
+ - read memory/index.md; do not bulk-load memory/ or projects/
5
+ - if any memory or state file exceeds SKILL.md memory_caps, compact first: archive overflow, mark STALE/SUPERSEDED out of the load set, rewrite the index
6
+ - if compact would require guessing, emit MEMORY_CAP, stop promoting, continue with repo state only
7
+ - load at most 12 matching full records (project before global, ACTIVE only)
5
8
  - inspect root, status, branch, remotes, worktrees, languages, manifests, lockfiles, test, CI
6
9
  - do not assume main, a remote, or a package manager
7
10
  - create .rdapq/state files on first write; do not preload every template
@@ -14,4 +17,4 @@ inspect:
14
17
  git_mutation: playbooks/07-git-worktree.md # worktree, commit, push, or audit cleanup only
15
18
  out: [scope, assumptions, evidence, risks, iteration-log]
16
19
  next: DISCOVERY
17
- forbid: [imagined_repo, destroying_unrelated_work]
20
+ forbid: [imagined_repo, destroying_unrelated_work, bulk_memory, diagrams, gzip_memory]
@@ -1,7 +1,8 @@
1
1
  phase: AUDIT
2
2
  stance: disprove completion
3
- ask: [misread_requirement, unexercised_path, untested_failure, inferred_claim, stale_memory, false_dependency, regression, malformed_input, dependency_down, observable_errors, secrets, races, unintended_interface_change, extra_dependency, debug_or_unused, docs_match, diff_matches_scope]
4
- memory: [candidates, promotion_test, write_approved_only, invalidate_stale, no_secrets]
3
+ ask: [misread_requirement, unexercised_path, untested_failure, inferred_claim, stale_memory, false_dependency, regression, malformed_input, dependency_down, observable_errors, secrets, races, unintended_interface_change, extra_dependency, debug_or_unused, docs_match, diff_matches_scope, memory_over_cap, index_stale]
4
+ memory: [candidates, promotion_test, write_approved_only, invalidate_stale, no_secrets, under_cap, index_current]
5
5
  report: [quality, confidence, coverage, gates, defects, unknowns, history, best_remaining, aqc]
6
6
  complete_only_if: all_applicable_gates_pass
7
+ fail_memory_gate_if: [secrets_stored, over_cap_uncompacted, index_missing_when_records_exist, bulk_memory_loaded, state_promoted_as_global]
7
8
  say: "Vibe Code Build complete."
@@ -2,3 +2,5 @@ role: task state, not durable memory
2
2
  path: .rdapq/state
3
3
  create: on first write
4
4
  secrets: never
5
+ caps: {evidence_records: 80, iteration_rounds: 20, file_bytes: 49152}
6
+ store: ids and outcomes, not log bodies
@@ -1,4 +1,4 @@
1
- # RDAP-Q Skill v1.2.4
1
+ # RDAP-Q Skill v1.2.5
2
2
 
3
3
  `SKILL.md` is the instruction source. This README is not a second copy of the protocol.
4
4
 
@@ -4,14 +4,26 @@ description: Run the RDAP-Q evidence-first engineering protocol. Invoke with /rd
4
4
  disable-model-invocation: true
5
5
  ---
6
6
  name: rdap-q
7
- version: "1.2.4"
7
+ version: "1.2.5"
8
8
  description: Evidence-first engineering protocol. Load this file, then the current phase playbook only.
9
9
  invocation: /rdapq
10
10
  home_env: RDAPQ_HOME
11
11
  home: RDAPQ_HOME else ~/.rdapq (Windows %USERPROFILE%\.rdapq)
12
12
  state: .rdapq/state
13
13
  memory: $RDAPQ_HOME/memory
14
+ memory_index: $RDAPQ_HOME/memory/index.md
14
15
  facts: [OBSERVED, USER_SPECIFIED, VERIFIED_EXTERNAL, INFERRED, UNKNOWN]
16
+ memory_caps:
17
+ load_full_records: 12
18
+ load_index_rows: 80
19
+ fact_chars: 240
20
+ evidence_chars: 160
21
+ file_bytes: 24576
22
+ global_active: 80
23
+ project_active: 40
24
+ state_evidence_records: 80
25
+ state_iteration_rounds: 20
26
+ state_file_bytes: 49152
15
27
  rules:
16
28
  - evidence before inference; never invent paths, APIs, versions, flags, tests, env, or architecture
17
29
  - INFERRED or UNKNOWN cannot decide implementation when verification is possible
@@ -21,12 +33,14 @@ rules:
21
33
  - task state stays in .rdapq/state; memory is reusable only; current evidence beats memory
22
34
  - never store secret values; a source plus an identifier is allowed
23
35
  - do not load manifest.json, other playbooks, diagrams, or bulk memory
36
+ - load memory/index.md first, then at most 12 matching full records; compact before work if over cap
37
+ - never bulk-read memory/ or projects/; never gzip, base64, or one-line-tarball memory
24
38
  commands:
25
39
  status: phase, quality, confidence, gates, blockers, iteration
26
40
  score: evidence-linked scorecard
27
41
  audit: adversarial final audit
28
- resume: reload memory and state, then check drift
29
- memory: relevant memories and status; never print secrets
42
+ resume: compact if over cap, reload index and hits plus state, then check drift
43
+ memory: relevant ACTIVE memories and status; never print secrets; never dump the store
30
44
  research: discovery
31
45
  explain: why this phase or exit
32
46
  weights: {correctness: 25, coverage: 15, verification: 15, integration: 10, security: 10, maintainability: 10, architecture: 8, operability: 7}
@@ -1,14 +1,14 @@
1
1
  when: whole_loop_or_ambiguous_next_state
2
2
  order:
3
3
  - resolve home; if unwritable, record it and use repo state
4
- - load SKILL.md, repo root, relevant memory, then .rdapq/state if present
4
+ - load SKILL.md, repo root, memory index, compact if over cap, then at most 12 hits, then .rdapq/state if present
5
5
  - load the current playbook only; observe before acting
6
6
  - update facts, assumptions, evidence, risks, decisions
7
7
  - milestone: verify, review, score, gate, decide, persist
8
8
  - invalid plan -> PLAN; worthwhile fix -> iterate
9
9
  - gates pass and diminishing -> audit, then COMPLETE
10
10
  - else emit the accurate non-complete terminal state
11
- - promote only durable lessons
11
+ - promote only durable lessons that pass write_forbid and caps
12
12
  precedence: [user_intent, direct_evidence, repo_state, project_memory, global_memory, external_for_this_version, inference]
13
13
  replan_if_changes: [scope, architecture, dependencies, sequencing, risk, verification, success_criteria]
14
- context: targeted reads; do not replay chat or load the whole skill tree
14
+ context: targeted reads; do not replay chat or load the whole skill tree; never bulk-read memory/
@@ -8,5 +8,5 @@ gates:
8
8
  regression: [existing_tests_pass, no_known_material_regression]
9
9
  security: [no_new_material_issue, no_secrets_stored, destructive_safeguards, risk_proportional_checks]
10
10
  repository: [diff_reviewed, no_unintended_files, no_conflicts, state_understood, unrelated_work_kept]
11
- memory: [no_secrets, promotion_test, stale_handled, state_not_promoted_as_global]
11
+ memory: [no_secrets, promotion_test, stale_handled, state_not_promoted_as_global, under_cap, index_current]
12
12
  quality: target_met_or_diminishing_returns_and_other_gates_pass
@@ -2,10 +2,44 @@ scopes:
2
2
  global: "$RDAPQ_HOME/memory/{engineering-preferences,tooling,lessons,patterns,constraints}.md"
3
3
  project: "$RDAPQ_HOME/projects/<id>/{project,architecture,lessons,decisions}.md"
4
4
  task: .rdapq/state
5
+ index: "$RDAPQ_HOME/memory/index.md"
6
+ load: index_then_hits
5
7
  promote_if_all: [durable, reusable, material, safe, grounded]
6
8
  record: {id: M-<id>, scope: "global|project:<id>", status: [ACTIVE, STALE, SUPERSEDED, INVALID], class: [USER_SPECIFIED, OBSERVED, VERIFIED_EXTERNAL, INFERRED], confidence: "0-10", verified: YYYY-MM-DD, supersedes: "id|none", superseded_by: "id|none", fact: str, evidence: str}
9
+ index_row: {id: M-<id>, kind: str, scope: "global|project:<id>", status: str, class: str, one_line: str}
7
10
  secrets: never values; source plus identifier only
8
11
  on_conflict: trust direct evidence; mark STALE, SUPERSEDED, or INVALID; link ids; do not silent-delete
9
- load: relevant project, then relevant global
10
- memory_cmd: relevant entries, status, conflicts; never print secrets
11
- resume: home, project memory, repo state, last phase, inspect drift, continue at first unverified step
12
+ load_order: relevant index rows, then matching full records, project before global
13
+ memory_cmd: relevant ACTIVE entries, status, conflicts; never print secrets; never dump the store
14
+ resume: home, index, compact if over cap, load hits, repo state, last phase, inspect drift, continue at first unverified step
15
+ caps:
16
+ load_full_records: 12
17
+ load_index_rows: 80
18
+ fact_chars: 240
19
+ evidence_chars: 160
20
+ file_bytes: 24576
21
+ global_active: 80
22
+ project_active: 40
23
+ state_evidence_records: 80
24
+ state_iteration_rounds: 20
25
+ state_file_bytes: 49152
26
+ refuse:
27
+ - bulk_read of memory/ or projects/
28
+ - diagrams (.mmd)
29
+ - manifest.json
30
+ - playbooks other than current phase
31
+ - gzip, base64, or one-line tarball encodings
32
+ write_forbid:
33
+ - secret values
34
+ - command output, diffs, logs, chat
35
+ - INFERRED when verification was possible
36
+ - duplicate of an ACTIVE one_line
37
+ - fact longer than fact_chars
38
+ - evidence longer than evidence_chars
39
+ - promoting .rdapq/state into global memory
40
+ on_cap:
41
+ stop_append: true
42
+ compact: [STALE, SUPERSEDED, INVALID]
43
+ overflow: archive to memory/archive/YYYY-MM.md
44
+ say: "MEMORY_CAP — compacted, not loaded"
45
+ over_cap_without_safe_compact: stop promoting; emit MEMORY_CAP; do not keep appending
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rdap-q",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "protocol_name": "RDAP-Q Agent Engineering Protocol",
5
5
  "entrypoint": "SKILL.md",
6
6
  "invocation": "/rdapq",
@@ -1,4 +1,7 @@
1
1
  role: durable memory
2
2
  path: $RDAPQ_HOME/memory
3
+ index: $RDAPQ_HOME/memory/index.md
3
4
  schema: core/memory.md
5
+ load: index_then_hits
4
6
  promote_if: [durable, reusable, material, safe, grounded]
7
+ caps: SKILL.md memory_caps
@@ -0,0 +1,3 @@
1
+ schema: core/memory.md
2
+ load: index_then_hits
3
+ records: []
@@ -1,7 +1,10 @@
1
1
  phase: BOOTSTRAP
2
2
  do:
3
3
  - resolve home from SKILL.md; if unwritable, record that and use repo state only
4
- - read task-relevant project memory, then global memory; do not bulk-load
4
+ - read memory/index.md; do not bulk-load memory/ or projects/
5
+ - if any memory or state file exceeds SKILL.md memory_caps, compact first: archive overflow, mark STALE/SUPERSEDED out of the load set, rewrite the index
6
+ - if compact would require guessing, emit MEMORY_CAP, stop promoting, continue with repo state only
7
+ - load at most 12 matching full records (project before global, ACTIVE only)
5
8
  - inspect root, status, branch, remotes, worktrees, languages, manifests, lockfiles, test, CI
6
9
  - do not assume main, a remote, or a package manager
7
10
  - create .rdapq/state files on first write; do not preload every template
@@ -14,4 +17,4 @@ inspect:
14
17
  git_mutation: playbooks/07-git-worktree.md # worktree, commit, push, or audit cleanup only
15
18
  out: [scope, assumptions, evidence, risks, iteration-log]
16
19
  next: DISCOVERY
17
- forbid: [imagined_repo, destroying_unrelated_work]
20
+ forbid: [imagined_repo, destroying_unrelated_work, bulk_memory, diagrams, gzip_memory]
@@ -1,7 +1,8 @@
1
1
  phase: AUDIT
2
2
  stance: disprove completion
3
- ask: [misread_requirement, unexercised_path, untested_failure, inferred_claim, stale_memory, false_dependency, regression, malformed_input, dependency_down, observable_errors, secrets, races, unintended_interface_change, extra_dependency, debug_or_unused, docs_match, diff_matches_scope]
4
- memory: [candidates, promotion_test, write_approved_only, invalidate_stale, no_secrets]
3
+ ask: [misread_requirement, unexercised_path, untested_failure, inferred_claim, stale_memory, false_dependency, regression, malformed_input, dependency_down, observable_errors, secrets, races, unintended_interface_change, extra_dependency, debug_or_unused, docs_match, diff_matches_scope, memory_over_cap, index_stale]
4
+ memory: [candidates, promotion_test, write_approved_only, invalidate_stale, no_secrets, under_cap, index_current]
5
5
  report: [quality, confidence, coverage, gates, defects, unknowns, history, best_remaining, aqc]
6
6
  complete_only_if: all_applicable_gates_pass
7
+ fail_memory_gate_if: [secrets_stored, over_cap_uncompacted, index_missing_when_records_exist, bulk_memory_loaded, state_promoted_as_global]
7
8
  say: "Vibe Code Build complete."
@@ -2,3 +2,5 @@ role: task state, not durable memory
2
2
  path: .rdapq/state
3
3
  create: on first write
4
4
  secrets: never
5
+ caps: {evidence_records: 80, iteration_rounds: 20, file_bytes: 49152}
6
+ store: ids and outcomes, not log bodies
package/skills.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "skills": [
4
4
  {
5
5
  "name": "rdap-q",
6
- "version": "1.2.4",
6
+ "version": "1.2.5",
7
7
  "title": "RDAP-Q: Research-Driven Adaptive Planning with Quality Gates",
8
8
  "description": "Vendor-neutral engineering protocol for evidence-first software development, persistent state, calibrated 0-10 scoring, and diminishing-return exit gates.",
9
9
  "entrypoint": "rdap-q-skill/SKILL.md",