Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
24 changes: 24 additions & 0 deletions AGENT_HANDOFF.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,30 @@
> **Update this file with every PR and every push to main.**
> Last updated: 2026-08-12

## 2026-08-12 Rate Morris authority bridge (#4142 R13.5)

Exact request/job v1 contracts and `RateMorrisService` now bridge the current
ten-factor Rate adapter to the unchanged Morris report v1. Reconstruction pins
passive, unlocked, profile-free double-pendulum fixed-ball execution with no
prescribed impact time and zero time offset. The internal 113 mph scenario
speed is compatibility-only, not a new measured input or physics claim.
Wire validation is unconditional: factor ordering, pendulum/club/ball physical
domains, contextual tee factors, and both factor endpoints are checked before
shared DbC-backed constructors. WARN/OFF contract modes remain fail-closed.

The optional router strictly decodes bounded raw JSON, and its injected-clock
registry owns active/global worker budgets, TTL/retention, cancellation, and a
lock-linearized lifecycle. Cancellation registered before terminal completion
discards the report; running work stays running until acknowledgment. Expected
sample numerical failures remain completed report denominator data, while
programming failures yield only a sanitized stable job error. The TypeScript
model uses the existing report parser and an injected create/status/cancel
client with no browser physics fallback.

Open: UI/polling presentation, export, persistence, host mount, UpstreamDrift,
and a genuine fixed-ball double-pendulum hit. Cancellation latency depends on
executor observation; no partial report or per-sample diagnostic is exposed.

## 2026-08-12 Rate fixed-ball Morris evaluator (#4142 R13.3)

- Branch `codex/4142-morris-rate-adapter` starts at exact shared-executor parent
Expand Down
5 changes: 3 additions & 2 deletions SPEC.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
| **Owner** | D-sorganization |
| **Primary Language(s)** | Python 3.11+, Rust, JavaScript, TypeScript |
| **License** | MIT |
| **Current Version** | 1.16.27 |
| **Spec Version** | 1.16.27 |
| **Current Version** | 1.16.28 |
| **Spec Version** | 1.16.28 |
| **Last Spec Update** | 2026-08-12 |

## 2. Purpose & Mission
Expand Down Expand Up @@ -2922,6 +2922,7 @@ Active development with stable core, continuous tool expansion, and web API in p

| Date | Version | Changes |
| ---- | ------- | ------- |
| 2026-08-12 | 1.16.28 | feat(rate-of-closure, #4142 R13.5): add exact primitive-only Morris request/job v1 contracts, deterministic execution into unchanged report v1, a dependency-injected mountable FastAPI router with strict bounded raw JSON and lock-linearized ephemeral jobs, and a strict TypeScript parser plus injected transport. Retain presentation, export, persistence, host registration, UpstreamDrift consumption, and a genuine fixed-ball double-pendulum hit as open gates. |
| 2026-08-12 | 1.16.27 | feat(rate-of-closure, #4142 R13.3): add the bounded Rate fixed-ball Morris evaluator for ten exact global simulation variables and the current 17-scalar output contract; extract shared trial capture/projection so ensemble and Morris execution retain identical hit/miss/numerical-failure availability, apply samples through one public immutable config seam, reject fixed-contact timing no-ops/localized or invalid factors, and validate a genuine double-pendulum miss while retaining double-pendulum fixed-hit validation, UI/export, per-sample failure diagnostics, and UpstreamDrift consumption as open gates. |
| 2026-08-12 | 1.16.26 | feat(rate-of-closure, #4142 R13.3): add a bounded UI-neutral Morris execution adapter with immutable physical sample identity, injected typed evaluators that explicitly normalize their own domain failures, exact per-output availability, deterministic serial/parallel tensors and completed-prefix progress every eight samples plus final, cooperative no-partial-result cancellation, and named worker/sample/observation-cell resource limits; retain Rate, UI, export, and `evaluate_run` integration as later scope. |
| 2026-08-12 | 1.16.25 | fix(rate-of-closure, #4142 R13.4): mirror the Morris producer's serialized clamp exactly by requiring `sigma` and `mu*` standard error to be either zero or strictly above `64*epsilon*max(1,mu*)`; apply clamp uncertainty only to zero-valued squared terms, use scale-normalized identity arithmetic with ordinary floating tolerance for nonzero metrics, reject finite magnitudes that cannot be squared safely, and move cohesive metric validation to a dedicated bounded module. |
Expand Down
17 changes: 17 additions & 0 deletions docs/development/RATE_OF_CLOSURE_CAMPAIGN_HANDOFF.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# Rate of Closure Campaign Handoff

## 2026-08-12 #4142 R13.5 bounded authority bridge

- Added exact request/job v1 contracts, deterministic Rate execution, bounded
lock-linearized ephemeral jobs, and a mountable optional FastAPI router.
- Strict raw JSON and domain parsing reject media/size/UTF-8/duplicate-key/
non-finite/schema/resource/unit/factor/tee violations.
- Physical/config/factor invariants are mirrored before shared DbC-backed
constructors; WARN and OFF contract modes remain fail-closed.
- Added a strict TypeScript envelope parser and injected client using the
existing report parser, with no local physics fallback.
- The authority remains passive unlocked fixed-ball double pendulum. The
contact model remains a fixed point/sphere, not swept collision, compression,
or mesh contact. Cancellation waits for executor observation and no partial
report or per-sample diagnostic crosses the job envelope.
- Open: presentation, export, persistence, host mount, UpstreamDrift, and a
genuine fixed-ball double-pendulum hit.

## 2026-08-12 Rate fixed-ball Morris evaluator (#4142 R13.3)

- Exact shared-executor parent `b2fa365087f184d9ada16a6d35b08cbce64879c6`
Expand Down
18 changes: 18 additions & 0 deletions src/rate_of_closure/AGENT_HANDOFF.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,24 @@
> **Update this file with every PR and every push to main.**
> Last updated: 2026-08-12

## 2026-08-12 Morris authority bridge (#4142 R13.5)

`application/morris/` now provides strict primitive request/job v1 contracts,
deterministic `RateMorrisService`, and an optional mountable FastAPI router;
the core package does not eagerly import FastAPI. Only completed jobs carry
the unchanged shared report v1. Raw JSON rejects media, size, UTF-8, duplicate
key, non-finite, schema, resource, unit, duplicate-factor, and tee violations.
Primitive/base/factor physical rules and both endpoints are checked before
require-backed constructors, so WARN/OFF shared DbC modes cannot admit invalid
authority requests.

Authority reconstruction is passive/unlocked/profile-free double pendulum,
fixed-ball, no impact time, zero offset; 113 mph is an internal compatibility
seed. The TypeScript parser/client has injected transport and no local fallback.
Still open: presentation, export, persistence, host registration, UpstreamDrift,
and a genuine fixed-ball double-pendulum hit. Cancellation is cooperative and
per-sample failure detail remains reduced to established report denominators.

## 2026-08-12 Rate fixed-ball Morris execution (#4142 R13.3)

The shared Morris executor now has a Rate-owned injected adapter over exact
Expand Down
22 changes: 22 additions & 0 deletions src/rate_of_closure/application/morris/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
"""UI-neutral Morris authority contracts and execution service."""

from .contracts import (
MORRIS_AUTHORITY_SCHEMA_VERSION,
MORRIS_JOB_SCHEMA_ID,
MORRIS_REQUEST_SCHEMA_ID,
MorrisAuthorityRequest,
MorrisJobEnvelope,
parse_morris_request,
)
from .service import MorrisExecutionService, RateMorrisService

__all__ = [
"MORRIS_AUTHORITY_SCHEMA_VERSION",
"MORRIS_JOB_SCHEMA_ID",
"MORRIS_REQUEST_SCHEMA_ID",
"MorrisAuthorityRequest",
"MorrisExecutionService",
"MorrisJobEnvelope",
"RateMorrisService",
"parse_morris_request",
]
Loading
Loading