@memnexus-ai/mx-agent-cli 0.1.165 → 0.1.167

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 (100) hide show
  1. package/dist/__tests__/claude-md-compose.test.d.ts +16 -0
  2. package/dist/__tests__/claude-md-compose.test.d.ts.map +1 -0
  3. package/dist/__tests__/claude-md-compose.test.js +116 -0
  4. package/dist/__tests__/claude-md-compose.test.js.map +1 -0
  5. package/dist/__tests__/claude-sync.test.js +15 -0
  6. package/dist/__tests__/claude-sync.test.js.map +1 -1
  7. package/dist/__tests__/config-generation.test.d.ts +7 -0
  8. package/dist/__tests__/config-generation.test.d.ts.map +1 -0
  9. package/dist/__tests__/config-generation.test.js +141 -0
  10. package/dist/__tests__/config-generation.test.js.map +1 -0
  11. package/dist/__tests__/config-sync.test.d.ts +10 -0
  12. package/dist/__tests__/config-sync.test.d.ts.map +1 -0
  13. package/dist/__tests__/config-sync.test.js +180 -0
  14. package/dist/__tests__/config-sync.test.js.map +1 -0
  15. package/dist/__tests__/project-config.test.js +1 -0
  16. package/dist/__tests__/project-config.test.js.map +1 -1
  17. package/dist/agent-config/.mx-config-generation.json +4 -0
  18. package/dist/agent-config/CLAUDE.md.template +140 -0
  19. package/dist/agent-config/OWNERS.md +51 -0
  20. package/dist/agent-config/agents/bar-raiser.md +205 -0
  21. package/dist/agent-config/agents/dogfood-auditor.md +243 -0
  22. package/dist/agent-config/agents/git-expert.md +380 -0
  23. package/dist/agent-config/agents/implementation-engineer.md +387 -0
  24. package/dist/agent-config/agents/memory-creator.md +330 -0
  25. package/dist/agent-config/agents/prd-writer.md +478 -0
  26. package/dist/agent-config/agents/prfaq-writer.md +344 -0
  27. package/dist/agent-config/agents/prior-art-researcher.md +264 -0
  28. package/dist/agent-config/agents/qa-tester.md +406 -0
  29. package/dist/agent-config/agents/red-team.md +330 -0
  30. package/dist/agent-config/agents/security-reviewer.md +300 -0
  31. package/dist/agent-config/agents/status-reporter.md +297 -0
  32. package/dist/agent-config/claude-md/CLAUDE.core.md +105 -0
  33. package/dist/agent-config/claude-md/CLAUDE.overlay.memnexus.md +68 -0
  34. package/dist/agent-config/claude-md/compose.mjs +179 -0
  35. package/dist/agent-config/claude-md/vars.memnexus.json +4 -0
  36. package/dist/agent-config/hooks/auto-capture-precompact.sh +176 -0
  37. package/dist/agent-config/hooks/auto-capture-session-end.sh +178 -0
  38. package/dist/agent-config/hooks/auto-checkpoint.sh +102 -0
  39. package/dist/agent-config/hooks/ci-validate-hook.sh +499 -0
  40. package/dist/agent-config/hooks/ci-validate-routes.conf +16 -0
  41. package/dist/agent-config/hooks/delegation-audit.sh +61 -0
  42. package/dist/agent-config/hooks/deploy-verification-reminder.sh +179 -0
  43. package/dist/agent-config/hooks/git-mutation-guard.sh +219 -0
  44. package/dist/agent-config/hooks/iteration-log-check.sh +212 -0
  45. package/dist/agent-config/hooks/memory-checkpoint-reminder.sh +103 -0
  46. package/dist/agent-config/hooks/mx-guard-hook.sh +77 -0
  47. package/dist/agent-config/hooks/named-memory-write-guard.sh +237 -0
  48. package/dist/agent-config/hooks/reload-checkpoint.sh +68 -0
  49. package/dist/agent-config/hooks/set-terminal-appearance.sh +34 -0
  50. package/dist/agent-config/hooks/workflow-dispatch-guard.sh +184 -0
  51. package/dist/agent-config/hooks/worktree-guard.sh +258 -0
  52. package/dist/agent-config/rules/eval-harness.md +33 -0
  53. package/dist/agent-config/rules/frontend.md +17 -0
  54. package/dist/agent-config/rules/mcp-protocol.md +15 -0
  55. package/dist/agent-config/rules/retrieval.md +17 -0
  56. package/dist/agent-config/settings.json +196 -0
  57. package/dist/agent-config/shared/eval-tiered-rigor.md +15 -0
  58. package/dist/agent-config/shared/team-operating-rules.md +37 -0
  59. package/dist/agent-config/skills/eval-claim-impact/SKILL.md +20 -0
  60. package/dist/agent-config/skills/eval-harness-review/SKILL.md +21 -0
  61. package/dist/agent-config/skills/mx-checkpoint/SKILL.md +111 -0
  62. package/dist/agent-config/skills/mx-fix-pr/SKILL.md +90 -0
  63. package/dist/agent-config/skills/mx-gap-assessment/SKILL.md +90 -0
  64. package/dist/agent-config/skills/mx-iteration-close/SKILL.md +81 -0
  65. package/dist/agent-config/skills/mx-post-merge-sync/SKILL.md +83 -0
  66. package/dist/agent-config/skills/mx-pre-pr-check/SKILL.md +85 -0
  67. package/dist/agent-config/skills/mx-save/SKILL.md +102 -0
  68. package/dist/agent-config/skills/mx-session-start/SKILL.md +85 -0
  69. package/dist/agent-config/skills/team-gate-checklist/SKILL.md +19 -0
  70. package/dist/commands/config-sync.d.ts +39 -0
  71. package/dist/commands/config-sync.d.ts.map +1 -0
  72. package/dist/commands/config-sync.js +212 -0
  73. package/dist/commands/config-sync.js.map +1 -0
  74. package/dist/commands/create.d.ts.map +1 -1
  75. package/dist/commands/create.js +3 -0
  76. package/dist/commands/create.js.map +1 -1
  77. package/dist/commands/init.d.ts.map +1 -1
  78. package/dist/commands/init.js +12 -4
  79. package/dist/commands/init.js.map +1 -1
  80. package/dist/commands/start.d.ts.map +1 -1
  81. package/dist/commands/start.js +6 -0
  82. package/dist/commands/start.js.map +1 -1
  83. package/dist/index.js +23 -0
  84. package/dist/index.js.map +1 -1
  85. package/dist/lib/bundled-config.d.ts +44 -0
  86. package/dist/lib/bundled-config.d.ts.map +1 -0
  87. package/dist/lib/bundled-config.js +164 -0
  88. package/dist/lib/bundled-config.js.map +1 -0
  89. package/dist/lib/claude.d.ts.map +1 -1
  90. package/dist/lib/claude.js +9 -3
  91. package/dist/lib/claude.js.map +1 -1
  92. package/dist/lib/config-generation.d.ts +36 -0
  93. package/dist/lib/config-generation.d.ts.map +1 -0
  94. package/dist/lib/config-generation.js +73 -0
  95. package/dist/lib/config-generation.js.map +1 -0
  96. package/dist/lib/project-config.d.ts +7 -0
  97. package/dist/lib/project-config.d.ts.map +1 -1
  98. package/dist/lib/project-config.js +4 -0
  99. package/dist/lib/project-config.js.map +1 -1
  100. package/package.json +2 -2
@@ -0,0 +1,196 @@
1
+ {
2
+ "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1",
3
+ "hooks": {
4
+ "PreToolUse": [
5
+ {
6
+ "matcher": "",
7
+ "hooks": [
8
+ {
9
+ "type": "command",
10
+ "command": "bash -c 'H=\"${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2>/dev/null)}/.claude/hooks/memory-checkpoint-reminder.sh\"; [ -f \"$H\" ] && exec bash \"$H\" || exit 0'"
11
+ }
12
+ ]
13
+ },
14
+ {
15
+ "matcher": "Bash",
16
+ "hooks": [
17
+ {
18
+ "type": "command",
19
+ "command": "bash -c 'H=\"${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2>/dev/null)}/.claude/hooks/worktree-guard.sh\"; [ -f \"$H\" ] && exec bash \"$H\" || exit 0'"
20
+ },
21
+ {
22
+ "type": "command",
23
+ "command": "bash -c 'H=\"${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2>/dev/null)}/.claude/hooks/mx-guard-hook.sh\"; [ -f \"$H\" ] && exec bash \"$H\" || exit 0'"
24
+ },
25
+ {
26
+ "type": "command",
27
+ "command": "bash -c 'H=\"${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2>/dev/null)}/.claude/hooks/ci-validate-hook.sh\"; [ -f \"$H\" ] && exec bash \"$H\" || exit 0'"
28
+ },
29
+ {
30
+ "type": "command",
31
+ "command": "bash -c 'H=\"${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2>/dev/null)}/.claude/hooks/workflow-dispatch-guard.sh\"; [ -f \"$H\" ] && exec bash \"$H\" || exit 0'"
32
+ },
33
+ {
34
+ "type": "command",
35
+ "command": "bash -c 'H=\"${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2>/dev/null)}/.claude/hooks/git-mutation-guard.sh\"; [ -f \"$H\" ] && exec bash \"$H\" || exit 0'"
36
+ },
37
+ {
38
+ "type": "command",
39
+ "command": "bash -c 'H=\"${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2>/dev/null)}/.claude/hooks/named-memory-write-guard.sh\"; [ -f \"$H\" ] && exec bash \"$H\" || exit 0'"
40
+ }
41
+ ]
42
+ }
43
+ ],
44
+ "PostToolUse": [
45
+ {
46
+ "matcher": "Bash",
47
+ "hooks": [
48
+ {
49
+ "type": "command",
50
+ "command": "bash -c 'H=\"${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2>/dev/null)}/.claude/hooks/deploy-verification-reminder.sh\"; [ -f \"$H\" ] && exec bash \"$H\" || exit 0'"
51
+ }
52
+ ]
53
+ }
54
+ ],
55
+ "PreCompact": [
56
+ {
57
+ "matcher": "",
58
+ "hooks": [
59
+ {
60
+ "type": "command",
61
+ "command": "bash -c 'H=\"${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2>/dev/null)}/.claude/hooks/auto-checkpoint.sh\"; [ -f \"$H\" ] && exec bash \"$H\" || exit 0'"
62
+ },
63
+ {
64
+ "type": "command",
65
+ "command": "bash -c 'H=\"${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2>/dev/null)}/.claude/hooks/auto-capture-precompact.sh\"; [ -f \"$H\" ] && exec bash \"$H\" || exit 0'"
66
+ }
67
+ ]
68
+ }
69
+ ],
70
+ "SessionStart": [
71
+ {
72
+ "matcher": "compact",
73
+ "hooks": [
74
+ {
75
+ "type": "command",
76
+ "command": "bash -c 'H=\"${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2>/dev/null)}/.claude/hooks/reload-checkpoint.sh\"; [ -f \"$H\" ] && exec bash \"$H\" || exit 0'"
77
+ }
78
+ ]
79
+ },
80
+ {
81
+ "matcher": "",
82
+ "hooks": [
83
+ {
84
+ "type": "command",
85
+ "command": "bash -c 'H=\"${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2>/dev/null)}/.claude/hooks/set-terminal-appearance.sh\"; [ -f \"$H\" ] && exec bash \"$H\" || exit 0'"
86
+ }
87
+ ]
88
+ }
89
+ ],
90
+ "Stop": [
91
+ {
92
+ "hooks": [
93
+ {
94
+ "type": "command",
95
+ "command": "mx-agent sync --api-url https://api.dev.memnexus.ai/internal/observability --quiet 2>/dev/null || true"
96
+ },
97
+ {
98
+ "type": "command",
99
+ "command": "bash -c 'H=\"${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2>/dev/null)}/.claude/hooks/auto-capture-session-end.sh\"; [ -f \"$H\" ] && exec bash \"$H\" || exit 0'"
100
+ },
101
+ {
102
+ "type": "command",
103
+ "command": "bash -c 'H=\"${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2>/dev/null)}/.claude/hooks/delegation-audit.sh\"; [ -f \"$H\" ] && exec bash \"$H\" || exit 0'"
104
+ },
105
+ {
106
+ "type": "command",
107
+ "command": "bash -c 'H=\"${CLAUDE_PROJECT_DIR:-$(git rev-parse --show-toplevel 2>/dev/null)}/.claude/hooks/iteration-log-check.sh\"; [ -f \"$H\" ] && exec bash \"$H\" || exit 0'"
108
+ }
109
+ ]
110
+ }
111
+ ]
112
+ },
113
+ "permissions": {
114
+ "allow": [
115
+ "mcp__MX__search_memories",
116
+ "mcp__MX__create_memory",
117
+ "mcp__MX__retrieve_episodic_memory",
118
+ "mcp__MX__get_patterns",
119
+ "mcp__MX__detect_patterns",
120
+ "mcp__MX__get_topic_summary",
121
+ "mcp__MX__search_semantic_facts",
122
+ "mcp__MX__find_conversations_by_topic",
123
+ "mcp__MX__graphrag_query",
124
+ "mcp__MX__get_memory_usage",
125
+ "mcp__MX__list_conversations",
126
+ "Bash",
127
+ "Read",
128
+ "Edit",
129
+ "Write",
130
+ "Glob",
131
+ "Grep",
132
+ "WebFetch",
133
+ "WebSearch",
134
+ "Task",
135
+ "NotebookEdit"
136
+ ],
137
+ "deny": [
138
+ "Bash(rm -rf /*)",
139
+ "Bash(rm -rf /)",
140
+ "Bash(rm -rf ~)",
141
+ "Bash(rm -rf ~/*)",
142
+ "Bash(dd if=/dev/zero *)",
143
+ "Bash(mkfs *)",
144
+ "Bash(shred *)",
145
+ "Bash(git reset --hard HEAD~*)",
146
+ "Bash(git reset --hard HEAD^*)",
147
+ "Bash(git checkout -- *)",
148
+ "Bash(git restore --worktree*)",
149
+ "Bash(git clean -fd *)",
150
+ "Bash(git clean -fdx *)",
151
+ "Bash(kubectl delete namespace *)",
152
+ "Bash(kubectl delete node *)",
153
+ "Bash(helm uninstall *)",
154
+ "Bash(az group delete *)",
155
+ "Bash(az aks delete *)",
156
+ "Bash(az deployment group delete *)",
157
+ "Bash(git checkout main)",
158
+ "Bash(git checkout main *)",
159
+ "Bash(git checkout -)",
160
+ "Bash(git switch main)",
161
+ "Bash(git switch main *)",
162
+ "Bash(git checkout -b *)",
163
+ "Bash(git switch -c *)",
164
+ "Bash(git switch --create *)",
165
+ "Bash(git branch * *)",
166
+ "Bash(git merge *)",
167
+ "Bash(git push origin main)",
168
+ "Bash(git push origin main *)",
169
+ "Bash(git push -u origin main)",
170
+ "Bash(git push -u origin main *)",
171
+ "Bash(git push --force origin main)",
172
+ "Bash(git push --force origin main *)",
173
+ "Bash(git push -f origin main)",
174
+ "Bash(git push -f origin main *)"
175
+ ],
176
+ "ask": [
177
+ "Bash(sudo *)",
178
+ "Bash(chown *)",
179
+ "Bash(docker kill *)",
180
+ "Bash(docker rm *)",
181
+ "Bash(docker rmi *)",
182
+ "Bash(kubectl delete pod *)",
183
+ "Bash(kubectl delete deployment *)",
184
+ "Bash(kubectl delete service *)",
185
+ "Bash(kubectl drain *)",
186
+ "Bash(kubectl taint *)",
187
+ "Bash(helm upgrade *)",
188
+ "Bash(helm rollback *)",
189
+ "Bash(az aks upgrade *)",
190
+ "Bash(az aks scale *)",
191
+ "Bash(az deployment group create *)",
192
+ "Bash(az vm delete *)",
193
+ "Bash(az storage account delete *)"
194
+ ]
195
+ }
196
+ }
@@ -0,0 +1,15 @@
1
+ # Eval Tiered Rigor Policy (PO-adopted 2026-07-04)
2
+
3
+ Reference for all teams requesting or consuming eval measurements. Gate intensity scales with **instrument novelty**, not run size.
4
+
5
+ | Tier | When | Gates | Turnaround | Claims |
6
+ |---|---|---|---|---|
7
+ | A | New mechanism/instrument, or claim-grade result | Full: prereg + Bar Raiser + Red Team + mutation-tested Code Review + pre-launch Step-6 | Days | Claim-ledger grade |
8
+ | B | Repeat run on a validated harness (model/corpus/config pin swap) | Preflight + runtime canaries + single-reviewer checklist + Step-6 | ~1 day | Claim-ledger grade with Tier-B tag |
9
+ | C | Exploratory / diagnostic | Leader judgment + runtime canaries | Hours | NON-CLAIMABLE by construction |
10
+
11
+ Non-negotiable at every tier: the runtime guards (preflight checks, delivery/injection canaries, completeness gates, hard flag/pin checks). They are minutes-cheap and exist because each one's absence once produced a wrong number.
12
+
13
+ Precision/speed trades available on request: stratified sampling (~70 tasks, CI ~±7pp) for direction-finding; matched symmetric concurrency (unbiased for arm deltas). Full-corpus ±4pp runs on request for claim-grade needs.
14
+
15
+ Asking teams: file requests via cross-team escalations with the question + tier you need; eval will quote turnaround per this table.
@@ -0,0 +1,37 @@
1
+ # Shared Team Operating Rules
2
+
3
+ These rules apply to every mx-agent team. Role guides may add stricter requirements.
4
+
5
+ ## Worktree Discipline
6
+
7
+ - Work only inside your assigned worktree unless the user explicitly asks otherwise.
8
+ - Do not create a second implementation worktree from inside an already isolated worktree. Delegate work on the current branch and review the resulting diff there.
9
+ - Do not cherry-pick sub-agent commits back from nested worktrees as a normal workflow.
10
+
11
+ ## Evidence and Review
12
+
13
+ - Search existing memories, issues, docs, and code before starting non-trivial work.
14
+ - Treat harnesses, migrations, retrieval logic, protocol code, and scoring code as high-risk even when the patch is small.
15
+ - For high-risk code, use an independent Code Reviewer or tester before merging.
16
+ - Do not self-certify important findings. A claim that affects product, benchmark, customer, or roadmap decisions needs independent reproduction or a clear caveat.
17
+
18
+ ## Delegation Gates
19
+
20
+ - Team leads coordinate the work and activate the relevant specialists from the role guide.
21
+ - Before closing an iteration, confirm implementation, review, testing, and memory/state updates were actually completed.
22
+ - If a role guide defines gate artifacts, produce those artifacts before claiming the work is done.
23
+
24
+ ## Command and Hook Output
25
+
26
+ - Interpret hook output carefully. A reminder printed by a hook is not a command failure unless the tool result or exit code indicates failure.
27
+ - When a hook is noisy but non-blocking, continue with the task and note the interpretation in the iteration record if relevant.
28
+
29
+ ## Memory and State
30
+
31
+ - Save memories for material decisions, failures, fixes, gotchas, and iteration closeouts.
32
+ - Named state memories must use the project prefix required by `CLAUDE.local.md`.
33
+ - When updating a conclusion, clearly state what superseded or invalidated the prior belief.
34
+
35
+ ## Stop Conditions
36
+
37
+ Pause and ask for direction when authority is unclear, evidence contradicts a committed direction, deployment verification fails and cannot be resolved, or required independent review cannot be obtained for high-risk work.
@@ -0,0 +1,20 @@
1
+ # Eval Claim Impact
2
+
3
+ Use this skill before stating or relying on a benchmark conclusion.
4
+
5
+ ## Procedure
6
+
7
+ 1. State the claim in one sentence.
8
+ 2. Link the exact runs, commits, config, data slice, and report that support it.
9
+ 3. Check whether any known harness issue, fixture gap, sampling flaw, or analysis bug could explain the result.
10
+ 4. Compare the claim against raw examples, not only aggregate metrics.
11
+ 5. Assign confidence: low, medium, high, or invalidated.
12
+ 6. If confidence is below high, state the next validation needed before the claim can guide product decisions.
13
+ 7. Save or update the claim ledger memory with the current status.
14
+
15
+ ## Required Output
16
+
17
+ - Claim.
18
+ - Evidence.
19
+ - Counterevidence or known risks.
20
+ - Confidence and next validation step.
@@ -0,0 +1,21 @@
1
+ # Eval Harness Review
2
+
3
+ Use this skill when reviewing or changing benchmark harnesses, scoring code, fixtures, sampling, persistence, or eval reports.
4
+
5
+ ## Procedure
6
+
7
+ 1. Identify the decision the eval is supposed to support.
8
+ 2. Read the harness entrypoint, scorer, fixture loader, persistence layer, and report generator.
9
+ 3. List P0 failure modes that would invalidate the result.
10
+ 4. Add or verify fixtures for each P0 path, including negative controls and boundary cases.
11
+ 5. Replay at least one known-good and one known-bad transcript through the scorer.
12
+ 6. Inspect raw run records and aggregate outputs for consistency.
13
+ 7. Ask an independent reviewer to check the diff and the interpretation.
14
+ 8. Record unresolved risk in the claim ledger before publishing results.
15
+
16
+ ## Required Output
17
+
18
+ - Files reviewed.
19
+ - Fixtures or replays run.
20
+ - Bugs found or explicitly ruled out.
21
+ - Remaining risks and confidence level.
@@ -0,0 +1,111 @@
1
+ ---
2
+ name: mx-checkpoint
3
+ description: "Comprehensive checkpoint for major milestones or context switches. Interactively gathers project context, decisions, blockers, and next steps to create a thorough memory."
4
+ disable-model-invocation: true
5
+ version: "1.7.158"
6
+ ---
7
+
8
+ # Checkpoint Memory
9
+
10
+ You are helping create a comprehensive checkpoint memory for a project or major initiative. These serve as context hubs that make future recall much easier.
11
+
12
+ ## When to Use
13
+
14
+ - Starting or pausing major work
15
+ - Context switching between tasks
16
+ - Completing a significant milestone
17
+ - Creating a searchable project anchor
18
+
19
+ ## Information to Gather
20
+
21
+ Ask the user for these (skip items that don't apply):
22
+
23
+ 1. **Project/Initiative Name** — What is this work called?
24
+ 2. **Planning Documents** — Where is the spec or design doc?
25
+ 3. **GitHub Issues/PRs** — What issues or PRs track this work?
26
+ 4. **Goal/Purpose** — What is the main objective?
27
+ 5. **Current Status** — Planning, in-progress, paused, completed?
28
+ 6. **Key Files/Directories** — Main files being created/modified?
29
+ 7. **Technologies/Tools** — What key technologies are involved?
30
+ 8. **Next Steps** — What should happen next?
31
+ 9. **Blockers/Dependencies** — Anything blocking progress?
32
+
33
+ ## Memory Content Template
34
+
35
+ ```
36
+ [Project Name] — [Status]
37
+
38
+ Planning doc: [path/to/doc.md]
39
+ GitHub issue: #[number]
40
+ Related PRs: #[numbers]
41
+
42
+ Goal: [1-2 sentence objective]
43
+
44
+ Current status: [What's done, what's pending, decisions made]
45
+
46
+ Key files:
47
+ - [path/to/file1.ts]
48
+ - [path/to/file2.md]
49
+
50
+ Technologies: [comma-separated list]
51
+
52
+ Next steps: [What to do when resuming]
53
+
54
+ Blockers: [If any]
55
+ ```
56
+
57
+ ## Topic Selection
58
+
59
+ Choose 6-10 topics. Only add manual topics for:
60
+ - **Status**: `completed`, `in-progress`, `blocked`, `paused`
61
+ - **Component**: project-specific component names
62
+
63
+ Other topics are auto-extracted from content.
64
+
65
+ ## Conversation Tracking
66
+
67
+ 1. Check if you already have a conversation ID from this session
68
+ 2. If yes → reuse it
69
+ 3. If no → use conversationId: "NEW"
70
+ 4. Capture the conv_xxx ID for follow-up memories
71
+
72
+ ## How to Save
73
+
74
+ **Prefer MCP tools:**
75
+
76
+ ```
77
+ create_memory({
78
+ content: "YOUR GENERATED CONTENT",
79
+ conversationId: "<ID or NEW>",
80
+ topics: ["component", "status"]
81
+ })
82
+ ```
83
+
84
+ **Fallback to CLI:**
85
+
86
+ ```bash
87
+ mx memories create \
88
+ --conversation-id "<ID or NEW>" \
89
+ --content "YOUR GENERATED CONTENT" \
90
+ --topics "component,status"
91
+ ```
92
+
93
+ ## Context Switch Pattern
94
+
95
+ If the user is pausing work, suggest a "breadcrumb" memory:
96
+
97
+ ```
98
+ Pausing work on [project name] at [checkpoint].
99
+
100
+ Status: [current state and what was just completed]
101
+ Next: [specific next action when resuming]
102
+ Context: [important context needed to resume]
103
+ ```
104
+
105
+ ## After Saving
106
+
107
+ Report back:
108
+ - Memory ID created
109
+ - Brief confirmation
110
+ - Conversation ID for follow-up
111
+ - Suggest testing recall: `search_memories({ query: "[project name]" })`
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: mx-fix-pr
3
+ description: Diagnose and fix a PR that is not mergeable, has failing CI, or won't trigger checks. Use when a PR is stuck.
4
+ ---
5
+
6
+ Use this workflow when a PR is stuck — not mergeable, CI failing, checks not triggering, or blocked.
7
+
8
+ ## Step 1: Check PR State
9
+
10
+ ```bash
11
+ gh pr view <number> --json mergeable,mergeStateStatus,statusCheckRollup
12
+ ```
13
+
14
+ Read the output carefully. The `mergeStateStatus` tells you the problem category.
15
+
16
+ ## Step 2: Diagnose and Fix
17
+
18
+ Based on the PR state, follow the appropriate branch:
19
+
20
+ ### Not Mergeable / DIRTY
21
+
22
+ The branch has diverged from main or has merge conflicts.
23
+
24
+ - Delegate to Git Expert (`.claude/agents/git-expert.md`) to rebase the branch onto `origin/main` and force-push with lease.
25
+ - Do NOT attempt git operations yourself.
26
+
27
+ ### CI Failing
28
+
29
+ One or more status checks failed.
30
+
31
+ ```bash
32
+ # Find the failing run
33
+ gh pr checks <number>
34
+
35
+ # Read the failure logs
36
+ gh run view <run-id> --log-failed
37
+ ```
38
+
39
+ - Read the failure output. Fix the code.
40
+ - Delegate code fixes to Implementation Engineer if the fix is non-trivial.
41
+ - Push a new commit with the fix.
42
+
43
+ ### CI Not Triggered / PENDING Forever
44
+
45
+ Checks are not running or stuck in pending state.
46
+
47
+ - The branch may need a force-push to re-trigger workflows. Delegate to Git Expert.
48
+ - Check if the workflow file has `paths:` filters that exclude your changed files.
49
+ - Check if the branch name matches the workflow's `branches:` trigger pattern.
50
+
51
+ ### BLOCKED
52
+
53
+ Required status checks are missing entirely.
54
+
55
+ - Verify the workflow file exists and is on the default branch.
56
+ - Verify the branch name matches the workflow trigger pattern.
57
+ - Check branch protection rules: `gh api repos/{owner}/{repo}/branches/main/protection`
58
+
59
+ ### Merge Conflicts Shown on GitHub
60
+
61
+ GitHub shows conflict markers but the branch was clean locally.
62
+
63
+ - Delegate to Git Expert to rebase on `origin/main` and resolve conflicts.
64
+ - After rebase and force-push, GitHub will re-evaluate mergeability.
65
+
66
+ ## Step 3: Verify Fix
67
+
68
+ After applying the fix:
69
+
70
+ ```bash
71
+ # Check all status checks are green
72
+ gh pr checks <number>
73
+
74
+ # Confirm PR is mergeable
75
+ gh pr view <number> --json mergeable
76
+ ```
77
+
78
+ Both must pass. If not, return to Step 2.
79
+
80
+ ## Step 4: Handle Queued CI
81
+
82
+ If CI is queued but not running:
83
+
84
+ ```bash
85
+ gh run list --limit 5 --json status,name
86
+ ```
87
+
88
+ If runners are busy, wait for the queue to clear. Do NOT stack additional pushes — each push resets the queue position.
89
+
90
+ > Always delegate git operations to Git Expert. Only push code fixes yourself via the Implementation Engineer.
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: mx-gap-assessment
3
+ description: Identify the next gap to pursue with mandatory prior art search and Red Team challenge. Use at Step 2/3 of the improvement loop.
4
+ ---
5
+
6
+ Follow this workflow to identify, validate, and document the next gap. Every step is mandatory.
7
+
8
+ ## Step 1: Prior Art Search
9
+
10
+ Delegate to Prior Art Researcher (`.claude/agents/prior-art-researcher.md`) to search for prior work in the problem area. The researcher should check:
11
+
12
+ - Existing memories and patterns related to the gap area
13
+ - Previous iterations that touched this area
14
+ - Known issues and gotchas
15
+
16
+ **Wait for the prior art report before proceeding.**
17
+
18
+ > The Bar Raiser checks for prior art search evidence at every iteration close. A gap assessment without prior art search results is a blocking finding.
19
+
20
+ ## Step 2: Check GitHub Issues
21
+
22
+ ```bash
23
+ gh issue list --state open --search "<team keywords>" --limit 20
24
+ ```
25
+
26
+ Review open issues. P1/P2 issues override metric-driven gap selection — if a critical issue exists, it becomes the gap regardless of other signals.
27
+
28
+ ## Step 3: Identify the Highest-Impact Gap
29
+
30
+ Review all available evidence:
31
+
32
+ - Metrics and production data from your team's dashboard
33
+ - Feedback from users or other teams
34
+ - Prior art report from Step 1
35
+ - Open GitHub issues from Step 2
36
+
37
+ Select the single highest-impact gap using your team's prioritization framework. One gap per iteration — do not bundle multiple gaps.
38
+
39
+ ## Step 4: Write the Gap Assessment
40
+
41
+ Document the gap with these sections:
42
+
43
+ 1. **Gap description** — what is broken, missing, or underperforming
44
+ 2. **Evidence** — specific metrics, production data, or user feedback that demonstrate the gap
45
+ 3. **Priority rationale** — why this gap over alternatives
46
+ 4. **Prior art results** — what the Prior Art Researcher found (prior attempts, related work, known constraints)
47
+ 5. **Proposed approach** — high-level plan to close the gap
48
+
49
+ ## Step 5: Red Team Challenge
50
+
51
+ Delegate to Red Team (`.claude/agents/red-team.md`) to challenge the gap selection:
52
+
53
+ - Is this really the highest-impact gap? What alternatives were considered?
54
+ - Pre-mortem: assume this approach fails in 2 weeks — what went wrong?
55
+ - Are there hidden dependencies or risks not addressed in the assessment?
56
+
57
+ **Wait for the Red Team response.**
58
+
59
+ ## Step 6: Address the Challenge
60
+
61
+ Review the Red Team's challenges. For each one:
62
+
63
+ - **Accept and adjust** — modify the plan to address the concern
64
+ - **Reject with rationale** — document why the challenge was considered but rejected
65
+
66
+ Update the gap assessment with the Red Team findings and your responses.
67
+
68
+ ## Step 7: Store the Gap Assessment
69
+
70
+ Save the gap assessment as a memory:
71
+
72
+ ```
73
+ create_memory({
74
+ conversationId: "NEW",
75
+ content: "<full gap assessment with Red Team responses>",
76
+ topics: ["<component>", "in-progress"]
77
+ })
78
+ ```
79
+
80
+ Capture the new `conversationId` from the response — use it for all subsequent memories in this iteration.
81
+
82
+ ## Step 8: Create Tracking Issue
83
+
84
+ Create a GitHub issue to track the iteration:
85
+
86
+ ```bash
87
+ gh issue create --title "Iteration N: <gap title>" --body "<gap summary, acceptance criteria, approach>"
88
+ ```
89
+
90
+ Record the issue number in your leader-state memory.
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: mx-iteration-close
3
+ description: Close out the current iteration with all required artifacts. Use at Step 7/8 after validation and measurement are complete.
4
+ ---
5
+
6
+ Complete every step in order. An iteration is NOT complete until all 7 steps are done. Do not start the next iteration before finishing this checklist.
7
+
8
+ ## Step 1: Verify All PRs Merged and Deployed
9
+
10
+ List PRs for this iteration. Every PR must be merged.
11
+
12
+ ```bash
13
+ gh pr list --state open --search "<iteration keywords>"
14
+ ```
15
+
16
+ If any PRs are open, merge them first. Do not proceed with open PRs.
17
+
18
+ ## Step 2: Verify Deployment
19
+
20
+ For each merged PR, confirm the deploy pipeline succeeded:
21
+
22
+ ```bash
23
+ # Get the merge commit SHA
24
+ gh pr view <number> --json mergeCommit --jq '.mergeCommit.oid'
25
+
26
+ # Check pipeline status
27
+ gh run list --commit <sha> --json status,conclusion,name --jq '.[]'
28
+ ```
29
+
30
+ - **Service changes:** Pipeline conclusion must be `success`.
31
+ - **CLI changes:** `npm view <package> version` must show the new version.
32
+ - **If pipeline is running:** Wait. Do not proceed.
33
+ - **If pipeline failed:** Fix it. Do not proceed.
34
+
35
+ ## Step 3: Delegate to Status Reporter
36
+
37
+ Delegate to Status Reporter (`.claude/agents/status-reporter.md`) to produce all iteration artifacts.
38
+ Named-memory keys below are `<product-slug>-<team>-<type>`: `<product-slug>` is the `projectSlug` from
39
+ `mx-agent.config.json` (**`memnexus` in this repository**) and `<team>` is your team slug — e.g.
40
+ `<product-slug>-<team>-iteration-log` resolves to `memnexus-platform-iteration-log`.
41
+
42
+ 1. **Write the dev-log file** for this iteration
43
+ 2. **Update `<product-slug>-<team>-iteration-log`** — add a new row: iteration number, focus, human intervention (yes/no), measurable outcome (yes/no), status, PR numbers
44
+ 3. **Update `<product-slug>-<team>-leader-state`** — reflect iteration complete + next planned action
45
+ 4. **Update `<product-slug>-<team>-known-issues`** — mark resolved issues, add any new ones discovered
46
+ 5. **Create an iteration report memory** with full details
47
+
48
+ Wait for the Status Reporter to complete before proceeding.
49
+
50
+ ## Step 4: Close Tracking Issue
51
+
52
+ Close the GitHub issue that was tracking this iteration. Add a summary comment:
53
+
54
+ ```bash
55
+ gh issue close <number> --comment "Iteration N complete. <brief summary>. PRs: #X, #Y."
56
+ ```
57
+
58
+ ## Step 5: Delegate to Dogfood Auditor
59
+
60
+ Delegate to Dogfood Auditor (`.claude/agents/dogfood-auditor.md`) to run the self-audit checklist. Address any findings before declaring the iteration complete.
61
+
62
+ ## Step 6: Save Memory Checkpoint
63
+
64
+ Save a checkpoint memory with the iteration summary:
65
+
66
+ ```
67
+ create_memory({
68
+ conversationId: "<current_conv_id>",
69
+ content: "Iteration N complete. Focus: <what>. Outcome: <measurable result>. PRs: #X, #Y. Next: <next step>.",
70
+ topics: ["<component>", "completed"]
71
+ })
72
+ ```
73
+
74
+ ## Step 7: Verify Dual-Logging
75
+
76
+ Confirm both artifacts exist:
77
+
78
+ 1. **Dev-log file** — check the file exists in the repo at the expected path
79
+ 2. **MemNexus memory** — search for the iteration report memory
80
+
81
+ If either is missing, create it now. Both are required for auditability.