WP-0001: feedback channels, CI, pre-commit, telemetry docs
Some checks failed
ci / test (3.12) (push) Has been cancelled
ci / test (3.10) (push) Has been cancelled

Add kaizen-agentic feedback CLI, Gitea issue templates, CI workflow,
pre-commit hooks, FEEDBACK/TELEMETRY docs, and cross-platform path tests.
Improve CLI registry error messages; remove agents_backup scaffolding.
Apply black formatting across src/tests for CI consistency.

State Hub message sent to agentic-resources for Helix correlation doc link.
This commit is contained in:
2026-06-16 01:58:07 +02:00
parent 79883aa25b
commit 80c60ebd7a
30 changed files with 556 additions and 110 deletions

View File

@@ -45,7 +45,9 @@ class TestMetricsCli:
assert record.exit_code == 0
assert "Recorded metrics" in record.output
show = runner.invoke(cli, ["metrics", "show", "tdd-workflow", "--target", target])
show = runner.invoke(
cli, ["metrics", "show", "tdd-workflow", "--target", target]
)
assert show.exit_code == 0
assert '"execution_count": 1' in show.output
assert '"success": true' in show.output
@@ -54,7 +56,9 @@ class TestMetricsCli:
assert listed.exit_code == 0
assert "tdd-workflow" in listed.output
export = runner.invoke(cli, ["metrics", "export", "tdd-workflow", "--target", target])
export = runner.invoke(
cli, ["metrics", "export", "tdd-workflow", "--target", target]
)
assert export.exit_code == 0
lines = [line for line in export.output.splitlines() if line.strip()]
assert len(lines) == 1
@@ -69,7 +73,9 @@ class TestMetricsCli:
)
assert result.exit_code == 0
show = runner.invoke(cli, ["metrics", "show", "coach", "--target", str(project_dir)])
show = runner.invoke(
cli, ["metrics", "show", "coach", "--target", str(project_dir)]
)
assert '"success": false' in show.output
def test_record_idempotency_key_skips_duplicate(
@@ -96,7 +102,9 @@ class TestMetricsCli:
)
assert len(export.output.strip().splitlines()) == 1
def test_record_requires_outcome_without_json(self, runner: CliRunner, project_dir: Path):
def test_record_requires_outcome_without_json(
self, runner: CliRunner, project_dir: Path
):
result = runner.invoke(
cli,
["metrics", "record", "tdd-workflow", "--target", str(project_dir)],
@@ -133,7 +141,9 @@ class TestMetricsCli:
],
)
result = runner.invoke(cli, ["memory", "brief", "tdd-workflow", "--target", target])
result = runner.invoke(
cli, ["memory", "brief", "tdd-workflow", "--target", target]
)
assert result.exit_code == 0
assert "## Performance Summary" in result.output
assert "Success rate: 100.0%" in result.output
@@ -144,4 +154,4 @@ class TestMetricsCli:
["memory", "init", "coach", "--target", str(project_dir), "--no-metrics"],
)
assert result.exit_code == 0
assert not (project_dir / ".kaizen" / "metrics" / "coach").exists()
assert not (project_dir / ".kaizen" / "metrics" / "coach").exists()