Skip to content

feat(tooling): changed-scope, telemetry, arch fitness, flake triager, prompt-eval - #21

Merged
CMaintz merged 1 commit into
mainfrom
feat/tooling-and-changed-scope
Sep 24, 2026
Merged

CMaintz merged 1 commit into
mainfrom
feat/tooling-and-changed-scope

Conversation

@CMaintz

@CMaintz CMaintz commented Sep 23, 2026

Copy link
Copy Markdown
Owner

Tooling suite — five shift-left features (additive)

Additive to foundry: new presets/scripts/mise-tasks + small edits to existing templates. No restructure of foundry internals.

Features

  1. Changed-scope gate (FOUNDRY_SINCE) — ts/java templates run file-local verbs over the changeset at the fast placements; whole-tree in CI (the authoritative backstop). Whole-program checks (typecheck/arch) always run whole-tree. novar folded into java lint, ratchet-scoped via FOUNDRY_BASE_REF; the separate no-var CI job removed.
  2. Loop telemetry — foundry-verb-wrap emits one JSONL line per verb (timing/exit/scope/placement); foundry-loop-report summarises convergence/thrash/time-sinks. Wired into both templates + foundry-init. /loop-report skill ships in the paired cmaintz-skills PR.
  3. Architecture fitness — presets/arch/: an architecture-agnostic layer model (LAYERS + ALLOW + no-cycles), not hexagonal-only — ships hexagonal/layered/clean/modular example maps. dependency-cruiser (TS, under lint) + ArchUnit (Java, under test) + coaching guides.
  4. Deterministic flake triager — foundry-flaky (gate + classify over JUnit XML / vitest JSON); quarantine is a ratcheted, labelled decision (never hides a real failure).
  5. Prompt/output eval — presets/prompt-eval/: vitest + JUnit ranking harness generalising AutoApplicant's proven pattern (good ≥ floor, weak ≤ ceiling, gap ≥ separation). Scorer stays in the consumer.

Also

  • CONTRACT.md auxiliary-tasks addendum — byte-identical to the cmaintz-skills copy (paired change).
  • ruleset_guard.py gains lines (ArchUnit store) + coverage (prompt-eval fixtures — inverse: removal is the loosening) kinds.
  • 7 design specs under designs/.

Validation

Every script + guard classifier tested in isolation. Live mise/consumer runs (actual ArchUnit/dep-cruiser/flaky/vitest execution + mise-level wiring) are pending a real project — noted per spec. Adoption is opt-in per repo.

Pairs with CMaintz/cmaintz-skills#3 (CONTRACT addendum + /loop-report).

…ager, prompt-eval

Five shift-left tooling features plus design specs (designs/):
- changed-scope (FOUNDRY_SINCE) in ts/java templates + agent-loop; novar folded into
  java lint via FOUNDRY_BASE_REF; separate no-var CI job removed
- loop telemetry: foundry-verb-wrap + foundry-loop-report, wired into both templates
  and foundry-init; /loop-report skill lives in cmaintz-skills
- architecture fitness: presets/arch (architecture-agnostic layer model; dependency-
  cruiser + ArchUnit templates + coaching guides)
- deterministic flake triager: foundry-flaky (gate + classify) + baseline schema
- prompt/output eval: presets/prompt-eval (vitest + JUnit ranking harness)
- CONTRACT auxiliary-tasks addendum; ruleset_guard gains `lines` + `coverage` kinds

Scripts + guard classifiers validated in isolation; live mise/consumer runs pending.
Supersedes the stale feat/verb-tiers-wip (a partial first-batch snapshot).
@CMaintz
CMaintz merged commit 14853b4 into main Sep 24, 2026
3 checks passed
@CMaintz
CMaintz deleted the feat/tooling-and-changed-scope branch September 24, 2026 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant