You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 88ce19e
Browse filesBrowse the repository at this point in the historyBrowse files
Remove redundant ANN reciprocal scan with native parity evidence
Preserve exact graph/options/distance/edge results in actual 128-row and 10000-row normal/scalar controls. Broader ANN normal cases passed 79/79; scalar cases passed 78/79 with the original default all-metric Euclidean build deadline failure retained. Full qualification and acceleration remain unclaimed. Include current requirements, native development receipts and exact-source CI cancellation status.
Copy file name to clipboardExpand all lines: docs/ADR/ADR-103-scaled-fair-comparisons.md
+31Lines changed: 31 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -72,10 +72,41 @@ Consumers retain the exact sidecar and authenticate its original artifact/provid
72
72
73
73
Worker owns feature-local AppHost Contracts/Observation/Processes roles, minimal composition/lifecycle joins, bounded parser/identity/native regressions and scale-only script consumers. Root owns durable feature/ADR freeze, source integration, actual Aspire native Linux/Docker qualification, CI/publication, receipts and commits. Private implementation may rely on the existing 45 engine + 10 Aspire + 25 CI packets as explicit predecessor source, never silently overwrite their bases. A reviewable patch and base/post manifests are required. No checkout edits, gates or Git by the worker.
74
74
75
+
The accepted SCALE-016 native-root correction follows the documented cgroup-v2
76
+
root semantics: CPU/memory maximum interfaces exist on non-root cgroups. Preserve
77
+
all actual non-root ancestor minima, effective cpuset and verified hierarchy
78
+
identity; terminate at the real root rather than requiring nonexistent root
Introduce only the separate KeyLoadTests:ScaleProfile test-harness selector. TestSuiteSettings accepts one exact canonical scaled ID only for Suite=comparison, the exact /*/*/IsolatedNativeComparisonTests/* filter, present native Benchmarks:Target, matching Benchmarks:EvidenceProfile, disabled Benchmarks:Enabled, no direct Benchmarks:ScaleProfile and no workload overrides. Reject missing suite, other suites, unknown/blank/case-mismatched IDs or mixed modes before any resource creation. Existing direct Benchmarks:ScaleProfile plus a suite remains rejected.
78
88
79
89
run-workload passes --KeyLoadTests:ScaleProfile=<id> to the outer AppHost. Its owned runner alone receives Benchmarks__ScaleProfile=<id>; clear KeyLoadTests__ScaleProfile alongside KeyLoadTests__Suite so the harness selector does not leak into the nested native AppHost. IsolatedNativeCase reads the exact ordinary ComparisonWorkerSelection from the runner environment and passes --Benchmarks:ScaleProfile=<id> to its own nested resource-owning AppHost. Preserve exact evidence/source/native topology and all control behavior. IsolatedNativeCase uses exactly 140 minutes for the closed scale profile and its existing 60 minutes for controls; all original tasks/resources are still joined.
80
90
81
91
Worker owns the narrow TestSuiteSettings/TestSuiteResources/IsolatedNativeCase/run-workload joins and real Aspire model plus independent argument/environment regressions. This is a prerequisite repair to the accepted SCALE-014 path, not a new alternate test caller. Durable docs join before live implementation.
92
+
93
+
## Accepted stage 11: original teardown settlement, 2026-10-05
94
+
95
+
REQ/AC-SCALE-017 and TASK-SCALE-ORIGINAL-TEARDOWN repair the inspected existing
96
+
IsolatedNativeTeardown path, which detached a pending task after 30 seconds and
97
+
replaced or suppressed actual cleanup failures. Freeze the exact owner/order,
98
+
original-task join, native fatal classification and primary/cleanup preservation
99
+
contract in ScalingQualification before implementation. The collector joins from
100
+
stage 10 use the same lifetime; the existing control success path/report schemas
101
+
remain unchanged.
102
+
103
+
Implement in order: retain the original case failure; settle the original
104
+
collector/capture and report writers; stop and dispose actual owners; delete data
105
+
only after safe ownership release; write bounded safe categories; propagate the
106
+
original ordered failures after all safely reachable stages. Keep 30 seconds as
107
+
an escalation/failure threshold, never detached completion. Add genuine native
108
+
Cases/Helpers regressions for pending settlement and simultaneous primary plus
109
+
cleanup failures, and run them through the canonical Aspire comparison entry.
110
+
ComparisonTests owns this code, partition_pages owns its private guarded packet,
111
+
and root owns integration/gates/evidence/commit. There is no data or wire migration;
112
+
rollback cannot convert an unfinished original task into a passing qualification.
Copy file name to clipboardExpand all lines: docs/Features/BenchmarkComparisons/ScalingQualification.md
+47Lines changed: 47 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,10 +81,57 @@ Consumers retain the exact sidecar and authenticate its original artifact/provid
81
81
82
82
Worker owns feature-local AppHost Contracts/Observation/Processes roles, minimal composition/lifecycle joins, bounded parser/identity/native regressions and scale-only script consumers. Root owns durable feature/ADR freeze, source integration, actual Aspire native Linux/Docker qualification, CI/publication, receipts and commits. Private implementation may rely on the existing 45 engine + 10 Aspire + 25 CI packets as explicit predecessor source, never silently overwrite their bases. A reviewable patch and base/post manifests are required. No checkout edits, gates or Git by the worker.
83
83
84
+
REQ/AC-SCALE-016's native cgroup-v2 walk must honor the actual hierarchy root:
85
+
the kernel defines `cpu.max` and `memory.max` only on non-root cgroups. Walk
86
+
every admitted non-root ancestor and retain its minimum effective limits; stop
87
+
at the verified real hierarchy root without inventing missing root limit files.
88
+
Observe the actual effective cpuset and supported hierarchy/controller identity.
89
+
An unreadable, malformed or missing required non-root observation still makes
90
+
evidence unqualified; it is never silently replaced by `max`. The independent
91
+
native Linux oracle must use the same documented root semantics without copying
92
+
the production parser. A supported Linux envelope test must assert its actual
93
+
value instead of conditionally omitting a null result. This source correction
94
+
changes no sidecar schema, workload, bounds or qualification requirements.
Introduce only the separate KeyLoadTests:ScaleProfile test-harness selector. TestSuiteSettings accepts one exact canonical scaled ID only for Suite=comparison, the exact /*/*/IsolatedNativeComparisonTests/* filter, present native Benchmarks:Target, matching Benchmarks:EvidenceProfile, disabled Benchmarks:Enabled, no direct Benchmarks:ScaleProfile and no workload overrides. Reject missing suite, other suites, unknown/blank/case-mismatched IDs or mixed modes before any resource creation. Existing direct Benchmarks:ScaleProfile plus a suite remains rejected.
87
99
88
100
run-workload passes --KeyLoadTests:ScaleProfile=<id> to the outer AppHost. Its owned runner alone receives Benchmarks__ScaleProfile=<id>; clear KeyLoadTests__ScaleProfile alongside KeyLoadTests__Suite so the harness selector does not leak into the nested native AppHost. IsolatedNativeCase reads the exact ordinary ComparisonWorkerSelection from the runner environment and passes --Benchmarks:ScaleProfile=<id> to its own nested resource-owning AppHost. Preserve exact evidence/source/native topology and all control behavior. IsolatedNativeCase uses exactly 140 minutes for the closed scale profile and its existing 60 minutes for controls; all original tasks/resources are still joined.
89
101
90
102
Worker owns the narrow TestSuiteSettings/TestSuiteResources/IsolatedNativeCase/run-workload joins and real Aspire model plus independent argument/environment regressions. This is a prerequisite repair to the accepted SCALE-014 path, not a new alternate test caller. Durable docs join before live implementation.
103
+
104
+
## Accepted original teardown settlement (REQ/AC-SCALE-017)
105
+
106
+
REQ-SCALE-017 requires the actual isolated AppHost owner to settle every original
107
+
collector, capture, report-write, application-stop and disposal operation before
108
+
releasing its dependencies or deleting its owned data. This applies to controls
109
+
and scaled runs; successful workload results and control report schemas are
110
+
unchanged. The existing 30-second teardown limit is a recorded failure threshold,
111
+
not permission to detach the task with a continuation. After that threshold,
112
+
request cancellation or escalation through the original owner's supported API
113
+
where available, retain the threshold failure, and ultimately await that same
114
+
original task. Do not start a replacement operation, use an uncancellable shadow
115
+
task, or dispose an owner while its observation/writer still uses it.
116
+
117
+
AC-SCALE-017 requires genuine native lifecycle regressions to prove that cleanup
118
+
does not pass an unfinished original operation, and that cancellation and failure
119
+
paths settle the original process/readers/capture before directory deletion.
120
+
Retain the actual workload primary exception and each actual cleanup exception
121
+
object, including nested aggregates and original cancellation tokens; do not
122
+
flatten, replace them with a category string, or suppress them when a primary
123
+
failure exists. Cleanup continues through all safely reachable stages. At final
124
+
propagation, one original failure retains its stack, multiple failures retain
125
+
ordered primary then cleanup objects, and native ManagedCode fatal classification
126
+
remains visible and takes priority. The receipt contains only the existing safe
127
+
stage categories and primary-presence flag, never exception text or payloads.
128
+
129
+
TASK-SCALE-ORIGINAL-TEARDOWN is owned by ComparisonTests BenchmarkComparisons
130
+
Helpers (`IsolatedNativeCase`, `IsolatedNativeTeardown` and populated settlement
131
+
helpers), with Cases/Helpers for real native regressions. The resource collector
132
+
joins from SCALE-016 participate in this same lifetime. Root owns the pre-code
133
+
contract, review, Aspire execution, original evidence and commits; partition_pages
134
+
owns the private guarded implementation packet. No change to provider topology,
135
+
measurement timing, ACK/durability, source provenance or publication eligibility
136
+
is authorized. Rollback may revert the repair but cannot claim successful
137
+
settlement or qualification for a detached original task.
0 commit comments