Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
fdcc250
feat(rate-of-closure): add responsive wind strategy workflow
dieterolson Aug 8, 2026
727c690
docs(rate-of-closure): record wind workflow PR
dieterolson Aug 8, 2026
424b4c3
fix(rate-of-closure): align wind panel Qt lifecycle typing
dieterolson Aug 8, 2026
6e3c102
docs(rate-of-closure): record CI repair and parity audits
dieterolson Aug 8, 2026
43ad5e3
feat(rate-of-closure): stream capability optimizer samples
dieterolson Aug 8, 2026
5c6073b
fix(rate-of-closure): harden capability observation parity
dieterolson Aug 8, 2026
b632cb4
docs(rate-of-closure): record capability observer PR
dieterolson Aug 8, 2026
60ac5b4
fix(rate-of-closure): type capability attempt count
dieterolson Aug 8, 2026
4961294
ci: annotate capability parity digests
dieterolson Aug 8, 2026
c280407
feat(rate-of-closure): bind optimizer to full flight
dieterolson Aug 8, 2026
ab650a3
feat(rate-of-closure): add matched PyQt6/React capability optimizatio…
dieterolson Aug 8, 2026
396cfa4
test(rate-of-closure): cover capability workspaces, worker, and layou…
dieterolson Aug 8, 2026
3a9f83d
docs(rate-of-closure): record capability workspace slice and verified…
dieterolson Aug 8, 2026
409b818
docs(rate-of-closure): record PR 4294 and ready-for-review stack state
dieterolson Aug 8, 2026
101020b
fix(rate-of-closure): construct capability inputs with typed field ac…
dieterolson Aug 8, 2026
1708dd9
docs(rate-of-closure): record CI mypy repair and 3.10 StrEnum risk
dieterolson Aug 8, 2026
dfdf315
docs(rate-of-closure): correct the tests (3.10) StrEnum guidance
dieterolson Aug 8, 2026
19fb1a1
feat(rate-of-closure): name non-complete reasons in capability summaries
dieterolson Aug 9, 2026
63769ed
fix(rate-of-closure): clamp ground interpolation and repair delta mypy
dieterolson Aug 9, 2026
35db7d8
Merge feat/4197-capability-flight-evaluator into the optimization UI
dieterolson Aug 9, 2026
43e13bb
Merge PR #4294: matched PyQt6/React capability optimization workspaces
dieterolson Aug 9, 2026
9bbb98e
Merge PR #4289: model-backed capability flight evaluator
dieterolson Aug 9, 2026
c1827bb
Merge PR #4283: capability observation stream and cancellation
dieterolson Aug 9, 2026
3186a26
docs(rate-of-closure): record the merged capability stack state
dieterolson Aug 9, 2026
18fe892
fix(ci): isolate swing-core parity pytest plugins
dieterolson Aug 9, 2026
83fee94
fix(rate-of-closure): harden capability workflow inputs
dieterolson Aug 9, 2026
7a1830b
feat(rate-of-closure): expose capability diagnostics
dieterolson Aug 9, 2026
2a1ce9e
fix(rate-of-closure): stabilize web release entrypoints
dieterolson Aug 9, 2026
2c1a77b
feat(rate-of-closure): add campaign release manifest
dieterolson Aug 9, 2026
a742ad6
fix(rate-of-closure): satisfy launcher policy
dieterolson Aug 9, 2026
de49580
fix(rate): satisfy exact changed-file type gate
dieterolson Aug 9, 2026
bb101ce
Merge commit '958770049f0124dac0426a6dd62fd4edbf437e7a' into feat/419…
dieterolson Aug 10, 2026
5f77af4
merge: propagate workspace timestamp fix into wind workflow
dieterolson Aug 10, 2026
aa6eeff
merge: propagate wind adapter into responsive workflow
dieterolson Aug 10, 2026
6860161
fix(rate): type validated campaign manifest
dieterolson Aug 10, 2026
1e82f15
merge: propagate wind adapter repair into workflow
Aug 10, 2026
29e15d6
style/fix: pre-commit automated fixes
Aug 11, 2026
b2baf6e
merge(rate-of-closure): propagate wind adapter into workflow
Aug 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/maturin-swing-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,9 @@ jobs:
- name: Run Rust<->Python parity suite (gate, non-skipped)
env:
PYTHONPATH: src
# This Rust-only lane must not import unrelated plugins cached on a
# self-hosted runner (for example pytest-qt without PyQt6 installed).
PYTEST_DISABLE_PLUGIN_AUTOLOAD: "1"
run: |
python -m pytest \
src/shared/python/swing_sim/tests/test_parity_rust.py \
Expand Down
773 changes: 202 additions & 571 deletions AGENT_HANDOFF.md

Large diffs are not rendered by default.

119 changes: 99 additions & 20 deletions SPEC.md

Large diffs are not rendered by default.

703 changes: 438 additions & 265 deletions docs/development/RATE_OF_CLOSURE_CAMPAIGN_HANDOFF.md

Large diffs are not rendered by default.

70 changes: 70 additions & 0 deletions docs/release/RATE_OF_CLOSURE_CAMPAIGN_MANIFEST.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Rate of Closure Campaign Manifest

`rate_of_closure_campaign.v1.json` is the machine-readable authority for
implementation and release claims in the Rate of Closure, impact, and flight
campaign. It complements the issue tracker and handoff; it does not replace
either one.

## What It Records

The manifest normalizes metadata that was previously repeated in narrative
handoffs:

- one record for every primary campaign epic, program, or release gate;
- canonical repository specifications and GitHub issue authorities;
- shared pull-request carriers and exact observed branch heads;
- all four supported product surfaces;
- commit-bound local or hosted test evidence;
- explicit evidence gaps, limitations, dependencies, and child issue IDs;
- release status and the exact `main` SHA when a release is eventually proven.

Program delivery uses four mutually exclusive stages:

1. `specified_only` — acceptance scope exists, but no implementation carrier is
claimed;
2. `implemented_on_feature_stack` — implementation exists outside a qualified
protected release;
3. `protected_merged_to_parent` — a parent merge and passing protected checks
are both recorded;
4. `released_to_main` — the program release SHA matches a merged carrier into
`main`.

A feature-branch merge is not automatically stage 3. A local test pass is not
a protected merge, and a protected parent merge is not automatically a
default-branch release.

## Validation

Run the deterministic validator from the repository root:

```powershell
python scripts/rate_campaign_manifest.py
```

Emit the versioned JSON Schema generated from the same Pydantic models:

```powershell
python scripts/rate_campaign_manifest.py --schema
```

The validator fails closed when it finds undeclared fields, missing programs,
duplicate IDs, malformed SHAs, unresolved carrier or evidence references,
missing repository paths, placeholders, or contradictory delivery/release
states.

## Maintenance Procedure

Update the manifest in the same commit as a material carrier, test-evidence, or
release-state change:

1. Refresh only the affected carrier head, state, and merge evidence.
2. Add commit-bound test evidence; do not replace failed or queued evidence
with narrative optimism.
3. Advance a program stage only when its validator preconditions are true.
4. Record limitations and missing evidence even when implementation exists.
5. Run the focused manifest tests and validator.
6. Update the root and Rate campaign handoffs in the same commit.

The checked-in snapshot does not query GitHub at validation time. This keeps CI
deterministic and avoids API-rate coupling, but means a maintainer must refresh
carrier observations deliberately after a merge, push, or protected run.
Loading
Loading