feat: add experiment numbering and metadata conventions - #35
Conversation
|
🤖 Review · |
56b66d1 to
4a3c27c
Compare
|
🤖 Review · |
4a3c27c to
f68b005
Compare
PR Summary by QodoAdd numbered experiment conventions with frontmatter + pre-commit linting
AI Description
Diagram
High-Level Assessment
Files changed (38)
|
Code Review by Qodo
1.
|
|
🤖 Review · |
Add structured experiment conventions modeled after the ADR system
in fullsend-ai/fullsend. This brings consistency to experiment
naming, metadata, and lifecycle tracking.
Changes:
- Rename all 22 experiments to NNNN-short-description format
- Add YAML frontmatter (title, status, topics) to every experiment
- Create 0000-experiment-template/ with standard sections
- Add hack/lint-experiment-numbers (naming and duplicate checks)
- Add hack/lint-experiment-frontmatter (frontmatter validation)
- Wire lint hooks into .pre-commit-config.yaml
- Add AGENTS.md and CLAUDE.md with repo conventions
Valid statuses: Active, Concluded, Abandoned, Merged
Valid naming: ^[0-9]{4}-short-description
Closes #34
Assisted-by: Claude
Signed-off-by: Wayne Sun <gsun@redhat.com>
f68b005 to
9d0ec77
Compare
|
🤖 Review · |
- Use #!/usr/bin/env bash shebang for portability - Move set -euo pipefail immediately after shebang - Drop NUL-delimited sort (-z) — experiment names can't contain newlines - Use grep -E for portable ERE regex in heading check - Widen title leading-zero regex to catch unquoted and single-quoted YAML - Update relative links to use new NNNN-prefixed directory names Assisted-by: Claude Signed-off-by: Wayne Sun <gsun@redhat.com>
|
🤖 Review · |
- Add hack/lint-experiment-index to verify README.md table matches disk - Wire lint-experiment-index into pre-commit (triggers on experiment dirs and README.md changes) - Document README index maintenance rule in AGENTS.md - Fix 4 more stale cross-links: 0001 (adr46-claude-scanner → 0002-claude-scanner), 0002 (self-referencing old path), 0005 (67-claude-github-app-auth → 0022-claude-github-app-auth) Assisted-by: Claude Signed-off-by: Wayne Sun <gsun@redhat.com>
|
🤖 Finished Review · ✅ Success · Started 8:17 PM UTC · Completed 8:24 PM UTC |
Review — approveScope: Renames 22 experiments to sequential AnalysisChange composition: 410 files changed — ~400 are pure renames (directory restructuring), 8 new files, 2 modified. The substantive new code is in the lint scripts, pre-commit configuration, CI workflow, and documentation. Lint scripts (
Pre-commit integration (
CI workflow (
Documentation (
No findings at or above the configured severity threshold (medium).
|
|
🤖 Finished Retro · ✅ Success · Started 12:05 PM UTC · Completed 12:13 PM UTC |
Retro: PR #35 — Add experiment numbering and metadata conventionsWorkflow went well. This was a human-authored PR by Timeline
Assessment
Existing issue coverageAll improvement opportunities identified are already tracked in
No novel proposals warranted — existing issues comprehensively cover the identified improvement areas. |
The experiment numbering convention (PR fullsend-ai#35) set frontmatter titles to the `NNNN. Title` format but left H1 headings with their old inconsistent formats (e.g. "Experiment 002:", "PoC FullSend", "ADR 0022"). This causes the fullsend docs site sidebar to display wrong titles since it falls back to H1 when rendering directory entries. Update all 21 experiment H1 headings to match their frontmatter title field exactly. Assisted-by: Claude (fix) Signed-off-by: Wayne Sun <gsun@redhat.com>
Summary
NNNN-short-descriptionformat (0001–0022)title,status,topics) to every experiment0000-experiment-template/with standard sections (Hypothesis, Approach, Results, Conclusion)hack/lint-experiment-numbersandhack/lint-experiment-frontmatterlint scripts.pre-commit-config.yamlAGENTS.mdandCLAUDE.mdwith repo-wide conventionsModeled after the ADR system in fullsend-ai/fullsend — same lint script patterns, frontmatter validation, and pre-commit enforcement.
Migration table
003-agent-outage-fire-drill.md0001-agent-outage-fire-drill.mdadr46-claude-scanner/0002-claude-scanner/adr46-scanner/0003-scanner/006-meta-loop-self-improving-engine/0004-meta-loop-self-improving-engine/agent-scoped-tools-triage/0005-agent-scoped-tools-triage/code-agent-evaluation/0006-code-agent-evaluation/github-actions-agent-runtime-mvp/0007-github-actions-agent-runtime-mvp/guardrails-eval/0008-guardrails-eval/hermes-security-patterns/0009-hermes-security-patterns/host-side-api-server/0010-host-side-api-server/integration-service-design-drift/0011-integration-service-design-drift/model-armor-vs-agent-triage/0012-model-armor-vs-agent-triage/openshell-policy-bypass/0013-openshell-policy-bypass/openshell-sandbox-evaluation.md0014-openshell-sandbox-evaluation.mdprompt-injection-defense/0015-prompt-injection-defense/promptfoo-eval/0016-promptfoo-eval/reasoning-monitor/0017-reasoning-monitor/runner-hello-world/0018-runner-hello-world/skills/0019-skills/target-repo-skills/0020-target-repo-skills/tool-scoping/0021-tool-scoping/67-claude-github-app-auth/0022-claude-github-app-auth/Statuses: 18 Concluded, 4 Active
ActiveConcludedAbandonedMergedTest plan
./hack/lint-experiment-numbers— 22 entries, no duplicates, sequential 0001–0022python3 ./hack/lint-experiment-frontmatter— 22 files, all validpre-commit run --all-files— experiment hooks passCloses #34