Skip to content

Commit 0046932

Browse files
author
DavidQ
committed
PR_PERFORMANCE_BENCHMARKS_FULL
Plan+Build+Apply performance benchmarks.
1 parent b7a7c55 commit 0046932

14 files changed

Lines changed: 480 additions & 48 deletions

docs/dev/BIG_PICTURE_ROADMAP.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ Do NOT change structure or wording.
111111
- [x] Plugin system
112112
- [.] External documentation
113113
- [x] Versioned contracts
114-
- [.] Performance benchmarks
114+
- [x] Performance benchmarks
115115

116116
---
117117

docs/dev/CODEX_COMMANDS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ MODEL: GPT-5.3-codex
22
REASONING: high
33

44
COMMAND:
5-
Execute PLAN + BUILD + APPLY for VERSIONED_CONTRACTS
5+
Execute PLAN + BUILD + APPLY for PERFORMANCE_BENCHMARKS
66

77
OUTPUT:
8-
<project folder>/tmp/PR_VERSIONED_CONTRACTS_FULL_bundle.zip
8+
<project folder>/tmp/PR_PERFORMANCE_BENCHMARKS_FULL_bundle.zip

docs/dev/COMMIT_COMMENT.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
build(versioned-contracts): execute plan/build/apply bundle with shared contract policy normalization and compatibility checks
1+
build(performance-benchmarks): execute plan/build/apply bundle with deterministic benchmark suites and regression thresholds
Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,28 @@
11
# Engine Maturity Performance Rules
22

33
## Benchmark Entry Points
4-
1. command execution latency
5-
2. overlay render/update frame cost
6-
3. provider polling/snapshot overhead
7-
4. panel show/hide/toggle cost
8-
5. preset apply/reset latency
4+
1. command execution latency surrogate (deterministic units)
5+
2. overlay render/update frame workload surrogate
6+
3. provider polling/snapshot workload surrogate
7+
4. panel show/hide/toggle workload surrogate
8+
5. preset apply/reset workload surrogate
9+
10+
## Benchmark Suite Contract
11+
All benchmark suites should define:
12+
- `contractId`
13+
- `contractVersion`
14+
- `suiteId`
15+
- `thresholds[]` (`stage`, `maxUnits`, `label`, `severity`)
16+
- `missingStageBehavior` (`fail|skip`)
917

1018
## Measurement Rules
11-
- compare debug-disabled and debug-enabled modes
19+
- compare debug-disabled and debug-enabled scenarios where relevant
1220
- measure cold-open and steady-state separately
1321
- record environment/sample/scenario metadata
22+
- keep benchmark signals deterministic for CI reproducibility
1423

1524
## Regression Rules
25+
- threshold failures are explicit regressions
1626
- repeated regressions block maturity promotion
1727
- no always-on heavy polling when debug is idle
28+
- missing expected benchmark stages fail unless explicitly marked `skip`

docs/dev/NEXT_COMMAND.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Create PR_PERFORMANCE_BENCHMARKS_FULL_bundle
1+
Create PR_EXTERNAL_DOCUMENTATION_FULL_bundle

docs/dev/reports/change_summary.txt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@ David Quesenberry
33
04/05/2026
44
change_summary.txt
55

6-
Executed PLAN + BUILD + APPLY for VERSIONED_CONTRACTS in one scoped bundle.
6+
Executed PLAN + BUILD + APPLY for PERFORMANCE_BENCHMARKS in one scoped bundle.
77

88
Implemented:
9-
- Added shared version policy helper module for contract normalization/evaluation.
10-
- Wired render and diagnostics contract validators to the shared policy seam.
11-
- Exposed version metadata helpers for both contract surfaces.
12-
- Updated targeted tests for metadata visibility and compatibility alias acceptance.
13-
- Updated Track J roadmap bracket state for Versioned contracts.
9+
- Added shared benchmark suite contract runtime in `tools/shared/performanceBenchmarks.js`.
10+
- Added automated benchmark suite coverage in `tests/tools/PerformanceBenchmarks.test.mjs`.
11+
- Wired benchmark test into `tests/run-tests.mjs`.
12+
- Updated performance benchmark PR docs and engine maturity performance rules.
13+
- Updated Track J roadmap bracket state for Performance benchmarks.
1414

15-
Non-goals preserved:
16-
- No engine core API redesign.
17-
- No unrelated runtime feature expansion.
15+
Scope controls preserved:
16+
- No engine core API changes.
1817
- No destructive changes.
18+
- No unrelated runtime feature expansion.

docs/dev/reports/file_tree.txt

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,17 @@ David Quesenberry
33
04/05/2026
44
file_tree.txt
55

6-
docs/pr/PLAN_PR_VERSIONED_CONTRACTS.md
7-
docs/pr/BUILD_PR_VERSIONED_CONTRACTS.md
8-
docs/pr/APPLY_PR_VERSIONED_CONTRACTS.md
6+
docs/pr/PLAN_PR_PERFORMANCE_BENCHMARKS.md
7+
docs/pr/BUILD_PR_PERFORMANCE_BENCHMARKS.md
8+
docs/pr/APPLY_PR_PERFORMANCE_BENCHMARKS.md
99
docs/dev/codex_commands.md
1010
docs/dev/commit_comment.txt
1111
docs/dev/next_command.txt
12-
docs/dev/ENGINE_MATURITY_VERSIONING_STRATEGY.md
13-
docs/dev/ENGINE_MATURITY_API_INVENTORY.md
1412
docs/dev/reports/change_summary.txt
1513
docs/dev/reports/validation_checklist.txt
1614
docs/dev/reports/file_tree.txt
15+
docs/dev/ENGINE_MATURITY_PERFORMANCE_RULES.md
1716
docs/dev/BIG_PICTURE_ROADMAP.md
18-
tools/shared/contractVersioning.js
19-
tools/shared/renderPipelineContract.js
20-
tools/shared/devConsoleDebugOverlay.js
21-
tests/tools/RenderPipelineContractAll4Tools.test.mjs
22-
tests/tools/DevConsoleDebugOverlay.test.mjs
17+
tools/shared/performanceBenchmarks.js
18+
tests/tools/PerformanceBenchmarks.test.mjs
19+
tests/run-tests.mjs

docs/dev/reports/validation_checklist.txt

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,18 @@ David Quesenberry
33
04/05/2026
44
validation_checklist.txt
55

6-
[x] PLAN_PR authored and aligned to scope
7-
[x] BUILD_PR authored and aligned to scope
8-
[x] APPLY_PR authored and aligned to scope
9-
[x] Shared contract version policy module added
10-
[x] Render contract version policy integration applied
11-
[x] Dev diagnostics version policy integration applied
12-
[x] Compatibility aliases accepted and normalized
13-
[x] Unsupported versions rejected
6+
[x] Benchmarks defined
7+
[x] Metrics clear
8+
[x] No runtime regression in affected scope
149
[x] node --check passed for touched JS files
15-
[x] Targeted contract tests passed
16-
[x] Roadmap updated with bracket-only edit
17-
[x] Delta bundle ZIP created at requested path
10+
[x] Targeted benchmark tests passed
11+
[x] Roadmap update is bracket-only
12+
[x] Bundle ZIP created at requested path
1813

1914
Validation command results:
20-
- node --check tools/shared/contractVersioning.js -> PASS
21-
- node --check tools/shared/renderPipelineContract.js -> PASS
22-
- node --check tools/shared/devConsoleDebugOverlay.js -> PASS
23-
- node --check tests/tools/RenderPipelineContractAll4Tools.test.mjs -> PASS
24-
- node --check tests/tools/DevConsoleDebugOverlay.test.mjs -> PASS
25-
- RenderPipelineContractAll4Tools.test.mjs run() -> PASS
26-
- DevConsoleDebugOverlay.test.mjs run() -> PASS
15+
- node --check tools/shared/performanceBenchmarks.js -> PASS
16+
- node --check tests/tools/PerformanceBenchmarks.test.mjs -> PASS
17+
- node --check tests/tools/PerformanceProfiler.test.mjs -> PASS
18+
- node --check tests/run-tests.mjs -> PASS
19+
- PerformanceBenchmarks.test.mjs run() -> PASS
20+
- PerformanceProfiler.test.mjs run() -> PASS
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
Toolbox Aid
2+
David Quesenberry
3+
04/05/2026
4+
APPLY_PR_PERFORMANCE_BENCHMARKS.md
5+
6+
# APPLY_PR_PERFORMANCE_BENCHMARKS
7+
8+
## Purpose
9+
Apply BUILD_PR_PERFORMANCE_BENCHMARKS exactly as defined.
10+
11+
## Applied Scope
12+
- shared benchmark suite runtime added:
13+
- `tools/shared/performanceBenchmarks.js`
14+
- benchmark suite tests added:
15+
- `tests/tools/PerformanceBenchmarks.test.mjs`
16+
- test runner wired for benchmark suite coverage:
17+
- `tests/run-tests.mjs`
18+
- performance maturity docs/report updates applied
19+
- roadmap bracket update applied:
20+
- `Performance benchmarks` -> `[x]`
21+
22+
## Validation Summary
23+
- benchmark suite pass/fail behavior verified
24+
- missing-stage behavior verified (`fail` and `skip` policy paths)
25+
- existing performance profiler test still passes
26+
- no runtime regression observed in affected scope
27+
28+
## Output
29+
<project folder>/tmp/PR_PERFORMANCE_BENCHMARKS_FULL_bundle.zip
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
Toolbox Aid
2+
David Quesenberry
3+
04/05/2026
4+
BUILD_PR_PERFORMANCE_BENCHMARKS.md
5+
6+
# BUILD_PR_PERFORMANCE_BENCHMARKS
7+
8+
## Purpose
9+
Build and implement the approved performance-benchmarks slice with deterministic thresholds and explicit regression reporting.
10+
11+
## Workflow
12+
PLAN_PR -> BUILD_PR -> APPLY_PR
13+
14+
## Implemented Build Scope
15+
- Added `tools/shared/performanceBenchmarks.js`:
16+
- benchmark suite contract creation
17+
- default benchmark suite definition
18+
- threshold evaluation against profiler samples
19+
- structured benchmark reports and summary text
20+
- Added `tests/tools/PerformanceBenchmarks.test.mjs`:
21+
- suite metadata validation
22+
- pass/fail threshold validation
23+
- missing-stage fail behavior
24+
- missing-stage skip behavior
25+
- Integrated benchmark test into `tests/run-tests.mjs`
26+
- Updated maturity docs and reports for benchmark ownership and validation
27+
28+
## Deterministic Benchmark Rules
29+
- benchmark execution evaluates normalized sample units
30+
- regressions are explicit threshold failures
31+
- missing stages are policy-driven (`fail` by default, optional `skip`)
32+
- result contract is structured for CI/debug ingestion
33+
34+
## Guardrails
35+
- no engine core API changes
36+
- no gameplay/runtime feature expansion
37+
- no destructive changes
38+
- no unrelated refactors
39+
40+
## Validation Targets
41+
- syntax checks pass for touched JS files
42+
- benchmark tests and profiler regression tests pass
43+
- roadmap bracket update is bracket-only
44+
45+
## Apply Handoff
46+
`APPLY_PR_PERFORMANCE_BENCHMARKS` should package only benchmark-scope files and reports.

0 commit comments

Comments
 (0)