merge: wave 1 order 1 (executor) into main

CLAUDE.md command table: each row from its owner (trekplan from order 3,
trekexecute from order 1, trekreview from order 5).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-10-06 20:42:47 +02:00
commit ca6ee8779a
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
28 changed files with 2384 additions and 116 deletions

View file

@ -22,7 +22,7 @@
| trekbrief-stats | ts, task, slug, mode, interview_turns, review_iterations, brief_quality, research_topics, auto_research, auto_result, intent_approved, project_dir, order_id, order_claimed_at, order_reason | commands/trekbrief.md (orchestrator-emit Phase 7; order_* added by lib/stats/stats-append.mjs) | trekbrief.md:1124-1139 | profile, phase_models, profile_source | none |
| trekresearch-stats | ts, question, mode, scope, engine, slug, project_dir, brief_path, dimensions, dimensions_baseline, dimensions_baseline_preserved, effort, conv_turns, empty_turns, unique_sources, agents_local, agents_external, gemini_used, confidence, contradictions, open_questions | commands/trekresearch.md (orchestrator-emit Stats tracking) | trekresearch.md:634-676 | profile, phase_models, parallel_agents, external_research_enabled, profile_source | none |
| trekplan-stats | ts, task, mode, slug, brief_path, project_dir, codebase_size, codebase_files, agents_deployed, deep_dives, research_briefs_used, research_scout_used, critic_verdict, guardian_verdict, outcome | commands/trekplan.md (orchestrator-emit Phase 12) | trekplan.md:805-826 | profile, phase_models, parallel_agents, profile_source | none |
| trekexecute-stats (Phase 9 record) | ts, plan, plan_type, mode, result, steps_total, steps_passed, steps_failed, steps_skipped, failed_at_step | lib/stats/stats-append.mjs (trekexecute.md Phase 9) | trekexecute.md:1890-1912 | profile, phase_models, profile_source | none |
| trekexecute-stats (Phase 9 record) | ts, plan, plan_type, mode, result, steps_total, steps_passed, steps_failed, steps_skipped, failed_at_step | lib/stats/stats-append.mjs (trekexecute.md Phase 9) | trekexecute.md:2325-2347 | profile, phase_models, profile_source | none |
| trekexecute-stats (autonomy events) | ts, event, known_event, payload | lib/stats/event-emit.mjs `emit()` | event-emit.mjs:78-99 | payload.profile, payload.phase_models, payload.profile_source | none |
| trekexecute-stats (PostToolUse Bash) | ts, session_id, command_excerpt, duration_ms, success | hooks/scripts/post-bash-stats.mjs (Bash PostToolUse) | post-bash-stats.mjs:42-54 | none (hook is plugin-level, not profile-aware) | command_excerpt (CWE-212) |
| trekreview-stats | ts, slug, verdict, counts (BLOCKER/MAJOR/MINOR/SUGGESTION), reviewed_files_count, mode, duration_ms | commands/trekreview.md (orchestrator-emit Phase 8) | trekreview.md:255 | profile, phase_models, profile_source | none |

View file

@ -0,0 +1,22 @@
diff --git a/lib/sum.mjs b/lib/sum.mjs
index 1111111..2222222 100644
--- a/lib/sum.mjs
+++ b/lib/sum.mjs
@@ -1,3 +1,4 @@
export function sum(a, b) {
- return a - b;
+ // fixed: addition, not subtraction
+ return a + b;
}
diff --git a/tests/sum.test.mjs b/tests/sum.test.mjs
index 3333333..4444444 100644
--- a/tests/sum.test.mjs
+++ b/tests/sum.test.mjs
@@ -3,3 +3,7 @@ import { sum } from '../lib/sum.mjs';
test('sum adds', () => {
assert.equal(sum(1, 2), 3);
});
+
+test('sum adds negatives', () => {
+ assert.equal(sum(-1, -2), -3);
+});

View file

@ -0,0 +1,11 @@
diff --git a/tests/sum.test.mjs b/tests/sum.test.mjs
index 3333333..4444444 100644
--- a/tests/sum.test.mjs
+++ b/tests/sum.test.mjs
@@ -3,6 +3,3 @@ import { sum } from '../lib/sum.mjs';
test('sum adds', () => {
assert.equal(sum(1, 2), 3);
});
-test('sum adds negatives', () => {
- sum(-1, -2);
-});

View file

@ -0,0 +1,9 @@
diff --git a/tests/latency.test.mjs b/tests/latency.test.mjs
index 7777777..8888888 100644
--- a/tests/latency.test.mjs
+++ b/tests/latency.test.mjs
@@ -4,3 +4,3 @@ test('tail latency', () => {
const ms = measure();
- assert.ok(ms < 200, `tail latency ${ms}ms`);
+ assert.ok(ms < 2000, `tail latency ${ms}ms`);
});

View file

@ -0,0 +1,8 @@
diff --git a/tests/run.sh b/tests/run.sh
index 5555555..6666666 100644
--- a/tests/run.sh
+++ b/tests/run.sh
@@ -1,2 +1,2 @@
#!/bin/sh
-node --test tests/
+node --test tests/ || true

View file

@ -0,0 +1,9 @@
diff --git a/tests/sum.test.mjs b/tests/sum.test.mjs
index 3333333..4444444 100644
--- a/tests/sum.test.mjs
+++ b/tests/sum.test.mjs
@@ -3,5 +3,4 @@ import { sum } from '../lib/sum.mjs';
test('sum adds', () => {
assert.equal(sum(1, 2), 3);
- assert.equal(sum(2, 2), 4);
});

View file

@ -0,0 +1,9 @@
diff --git a/tests/sum.test.mjs b/tests/sum.test.mjs
index 3333333..4444444 100644
--- a/tests/sum.test.mjs
+++ b/tests/sum.test.mjs
@@ -3,3 +3,3 @@ import { sum } from '../lib/sum.mjs';
-test('sum adds', () => {
+test.skip('sum adds', () => {
assert.equal(sum(1, 2), 3);
});

View file

@ -0,0 +1,9 @@
diff --git a/lib/sum.mjs b/lib/sum.mjs
index 1111111..2222222 100644
--- a/lib/sum.mjs
+++ b/lib/sum.mjs
@@ -1,3 +1,3 @@
export function sum(a, b) {
- return a - b;
+ throw new Error('not implemented');
}

View file

@ -0,0 +1,9 @@
diff --git a/tests/latency.test.mjs b/tests/latency.test.mjs
index 7777777..8888888 100644
--- a/tests/latency.test.mjs
+++ b/tests/latency.test.mjs
@@ -4,3 +4,3 @@ test('tail latency', () => {
const ms = measure();
- assert.ok(ms < 2000, `tail latency ${ms}ms`);
+ assert.ok(ms < 200, `tail latency ${ms}ms`);
});

View file

@ -0,0 +1,2 @@
this is not a diff
just prose that a broken pipe left behind