@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.
- package/dist/__tests__/claude-md-compose.test.d.ts +16 -0
- package/dist/__tests__/claude-md-compose.test.d.ts.map +1 -0
- package/dist/__tests__/claude-md-compose.test.js +116 -0
- package/dist/__tests__/claude-md-compose.test.js.map +1 -0
- package/dist/__tests__/claude-sync.test.js +15 -0
- package/dist/__tests__/claude-sync.test.js.map +1 -1
- package/dist/__tests__/config-generation.test.d.ts +7 -0
- package/dist/__tests__/config-generation.test.d.ts.map +1 -0
- package/dist/__tests__/config-generation.test.js +141 -0
- package/dist/__tests__/config-generation.test.js.map +1 -0
- package/dist/__tests__/config-sync.test.d.ts +10 -0
- package/dist/__tests__/config-sync.test.d.ts.map +1 -0
- package/dist/__tests__/config-sync.test.js +180 -0
- package/dist/__tests__/config-sync.test.js.map +1 -0
- package/dist/__tests__/project-config.test.js +1 -0
- package/dist/__tests__/project-config.test.js.map +1 -1
- package/dist/agent-config/.mx-config-generation.json +4 -0
- package/dist/agent-config/CLAUDE.md.template +140 -0
- package/dist/agent-config/OWNERS.md +51 -0
- package/dist/agent-config/agents/bar-raiser.md +205 -0
- package/dist/agent-config/agents/dogfood-auditor.md +243 -0
- package/dist/agent-config/agents/git-expert.md +380 -0
- package/dist/agent-config/agents/implementation-engineer.md +387 -0
- package/dist/agent-config/agents/memory-creator.md +330 -0
- package/dist/agent-config/agents/prd-writer.md +478 -0
- package/dist/agent-config/agents/prfaq-writer.md +344 -0
- package/dist/agent-config/agents/prior-art-researcher.md +264 -0
- package/dist/agent-config/agents/qa-tester.md +406 -0
- package/dist/agent-config/agents/red-team.md +330 -0
- package/dist/agent-config/agents/security-reviewer.md +300 -0
- package/dist/agent-config/agents/status-reporter.md +297 -0
- package/dist/agent-config/claude-md/CLAUDE.core.md +105 -0
- package/dist/agent-config/claude-md/CLAUDE.overlay.memnexus.md +68 -0
- package/dist/agent-config/claude-md/compose.mjs +179 -0
- package/dist/agent-config/claude-md/vars.memnexus.json +4 -0
- package/dist/agent-config/hooks/auto-capture-precompact.sh +176 -0
- package/dist/agent-config/hooks/auto-capture-session-end.sh +178 -0
- package/dist/agent-config/hooks/auto-checkpoint.sh +102 -0
- package/dist/agent-config/hooks/ci-validate-hook.sh +499 -0
- package/dist/agent-config/hooks/ci-validate-routes.conf +16 -0
- package/dist/agent-config/hooks/delegation-audit.sh +61 -0
- package/dist/agent-config/hooks/deploy-verification-reminder.sh +179 -0
- package/dist/agent-config/hooks/git-mutation-guard.sh +219 -0
- package/dist/agent-config/hooks/iteration-log-check.sh +212 -0
- package/dist/agent-config/hooks/memory-checkpoint-reminder.sh +103 -0
- package/dist/agent-config/hooks/mx-guard-hook.sh +77 -0
- package/dist/agent-config/hooks/named-memory-write-guard.sh +237 -0
- package/dist/agent-config/hooks/reload-checkpoint.sh +68 -0
- package/dist/agent-config/hooks/set-terminal-appearance.sh +34 -0
- package/dist/agent-config/hooks/workflow-dispatch-guard.sh +184 -0
- package/dist/agent-config/hooks/worktree-guard.sh +258 -0
- package/dist/agent-config/rules/eval-harness.md +33 -0
- package/dist/agent-config/rules/frontend.md +17 -0
- package/dist/agent-config/rules/mcp-protocol.md +15 -0
- package/dist/agent-config/rules/retrieval.md +17 -0
- package/dist/agent-config/settings.json +196 -0
- package/dist/agent-config/shared/eval-tiered-rigor.md +15 -0
- package/dist/agent-config/shared/team-operating-rules.md +37 -0
- package/dist/agent-config/skills/eval-claim-impact/SKILL.md +20 -0
- package/dist/agent-config/skills/eval-harness-review/SKILL.md +21 -0
- package/dist/agent-config/skills/mx-checkpoint/SKILL.md +111 -0
- package/dist/agent-config/skills/mx-fix-pr/SKILL.md +90 -0
- package/dist/agent-config/skills/mx-gap-assessment/SKILL.md +90 -0
- package/dist/agent-config/skills/mx-iteration-close/SKILL.md +81 -0
- package/dist/agent-config/skills/mx-post-merge-sync/SKILL.md +83 -0
- package/dist/agent-config/skills/mx-pre-pr-check/SKILL.md +85 -0
- package/dist/agent-config/skills/mx-save/SKILL.md +102 -0
- package/dist/agent-config/skills/mx-session-start/SKILL.md +85 -0
- package/dist/agent-config/skills/team-gate-checklist/SKILL.md +19 -0
- package/dist/commands/config-sync.d.ts +39 -0
- package/dist/commands/config-sync.d.ts.map +1 -0
- package/dist/commands/config-sync.js +212 -0
- package/dist/commands/config-sync.js.map +1 -0
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +3 -0
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +12 -4
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +6 -0
- package/dist/commands/start.js.map +1 -1
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/bundled-config.d.ts +44 -0
- package/dist/lib/bundled-config.d.ts.map +1 -0
- package/dist/lib/bundled-config.js +164 -0
- package/dist/lib/bundled-config.js.map +1 -0
- package/dist/lib/claude.d.ts.map +1 -1
- package/dist/lib/claude.js +9 -3
- package/dist/lib/claude.js.map +1 -1
- package/dist/lib/config-generation.d.ts +36 -0
- package/dist/lib/config-generation.d.ts.map +1 -0
- package/dist/lib/config-generation.js +73 -0
- package/dist/lib/config-generation.js.map +1 -0
- package/dist/lib/project-config.d.ts +7 -0
- package/dist/lib/project-config.d.ts.map +1 -1
- package/dist/lib/project-config.js +4 -0
- package/dist/lib/project-config.js.map +1 -1
- 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.
|