Skip to content

Commit d36d5ce

Browse files
author
TNFR AI Agent
committed
Consolidate relational dynamics, research evidence and shared numerical contracts
Integrate the accumulated native and sine relational studies through shared admission, interval Taylor/comparison kernels, observation reports and SDK adapters. Preserve native/sine model distinctions, held-state premises, source-relative information and the stated domains of conditional results. Rebuild chained observations from admitted primitive state and evidence instead of trusting cached flags, bounds or means. The final audit corrects spurious receiver-transfer exclusions and verifies the refactored comparison delegate against the immutable formation-robustness formula on each consumed tube. Keep archived protocols, responses and their original verdicts unchanged. Centralize source-tree subprocess environments so CLI and optimized-process checks exercise the checkout instead of an older installed package. Align README, contributor instructions, theory owners, contracts and research guides; keep form balance versus common-origin symmetry as the sole active gate. Validation: - Routine engine/API pytest suite on Python 3.12: 9124 passed, 24 skipped. - Affected physics suite plus focused corrected formation-robustness tests; independent law-selection algebra and numerical admission controls. - All-file blocking pre-commit hooks and flake8 src. - Documentation integrity, 4603 internal references and strict MkDocs build. - Isolated sdist/wheel build and Twine checks; all 772 package code/type/schema files match current source, with installed-wheel README and CLI smoke checks. Research checks are selected by affected owner, not a replay of every retained campaign. No physical identification, unique microscopic law, release or new research response is asserted by this consolidation. CI advisories remain advisory; the cross-version GitHub matrix runs after push.
1 parent df2af8a commit d36d5ce

200 files changed

Lines changed: 91285 additions & 3193 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/agents/my-agent.md‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,14 +163,24 @@ JSON readers share `utils.io.json_loads`; SDK exports use the shared atomic
163163
writer. Preserve duplicate-key rejection, finite-number admission and explicit
164164
availability for projected values. A recipe/export is neither a complete
165165
checkpoint nor provenance authentication.
166+
When a report feeds another calculation, re-admit its primitive state, law
167+
and evidence and rebuild the derived fields consumed by that calculation.
168+
Cached bounds and verdicts cannot replace those premises. Compute with
169+
normalized values before retaining an equivalent original report association;
170+
Python equality alone is not scalar admission or evidence authentication.
166171

167172
## 5. Research and evidence discipline
168173

169174
The [execution plan](https://github.com/fermga/TNFR-Python-Engine/blob/main/theory/research/FIVE_STAGE_EXECUTION_PLAN.md#current-g3-gate)
170175
is the sole task queue. The [portfolio](https://github.com/fermga/TNFR-Python-Engine/blob/main/TNFR_lineas_de_investigacion.txt)
171176
classifies branches; the [strategy](https://github.com/fermga/TNFR-Python-Engine/blob/main/theory/NODAL_RESEARCH_STRATEGY.md)
172177
explains their rationale. An existing example or theorem does not create an
173-
active campaign. Use the plan's F1-F4 admission method:
178+
active campaign. When a gate closes, replace its queue status and link its
179+
result owner; do not append per-turn completion narratives to the plan,
180+
strategy or portfolio. Preserve unresolved dependencies and frozen evidence
181+
without maintaining duplicate result inventories. A unified account still
182+
distinguishes models with different complete laws. Use the plan's F1-F4
183+
admission method:
174184

175185
1. Define sufficient state, domains, units, observations and discarded information.
176186
2. Declare all laws, separating assumptions, derived restrictions and remaining

‎AGENTS.md‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,14 +163,24 @@ JSON readers share `utils.io.json_loads`; SDK exports use the shared atomic
163163
writer. Preserve duplicate-key rejection, finite-number admission and explicit
164164
availability for projected values. A recipe/export is neither a complete
165165
checkpoint nor provenance authentication.
166+
When a report feeds another calculation, re-admit its primitive state, law
167+
and evidence and rebuild the derived fields consumed by that calculation.
168+
Cached bounds and verdicts cannot replace those premises. Compute with
169+
normalized values before retaining an equivalent original report association;
170+
Python equality alone is not scalar admission or evidence authentication.
166171

167172
## 5. Research and evidence discipline
168173

169174
The [execution plan](https://github.com/fermga/TNFR-Python-Engine/blob/main/theory/research/FIVE_STAGE_EXECUTION_PLAN.md#current-g3-gate)
170175
is the sole task queue. The [portfolio](https://github.com/fermga/TNFR-Python-Engine/blob/main/TNFR_lineas_de_investigacion.txt)
171176
classifies branches; the [strategy](https://github.com/fermga/TNFR-Python-Engine/blob/main/theory/NODAL_RESEARCH_STRATEGY.md)
172177
explains their rationale. An existing example or theorem does not create an
173-
active campaign. Use the plan's F1-F4 admission method:
178+
active campaign. When a gate closes, replace its queue status and link its
179+
result owner; do not append per-turn completion narratives to the plan,
180+
strategy or portfolio. Preserve unresolved dependencies and frozen evidence
181+
without maintaining duplicate result inventories. A unified account still
182+
distinguishes models with different complete laws. Use the plan's F1-F4
183+
admission method:
174184

175185
1. Define sufficient state, domains, units, observations and discarded information.
176186
2. Declare all laws, separating assumptions, derived restrictions and remaining

‎ARCHITECTURE.md‎

Lines changed: 130 additions & 124 deletions
Large diffs are not rendered by default.

‎README.md‎

Lines changed: 198 additions & 117 deletions
Large diffs are not rendered by default.

‎TESTING.md‎

Lines changed: 105 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -60,18 +60,95 @@ then inspect their source and tests. That map links shared implementations,
6060
representative controls and theorem owners; this guide does not maintain a
6161
second inventory of research results or individual test cases.
6262

63-
The routine gate includes regional/source-relative form observations, generic
64-
linear observation admission, relational field/step execution, pattern,
65-
attachment and relocation observations, work/cut/phase-response accounting,
66-
protected capture and the listed current production boundaries. Coefficient
67-
jet/sample observers and read-only acquisition-audit admission are
68-
also covered by the routine top-level modules. The retained full-window record
69-
is an optional research audit, not an implicit producer invocation. The attachment
70-
observer evaluates two components and a hypothetical joined field; relocation
71-
compares the admitted fields before and after a supplied bridge exchange.
72-
Neither observer changes live support or certifies future pattern recovery.
73-
Routine integration tests and a theorem's explicit research selection have
74-
different scope; check `testpaths` rather than inferring inclusion from a filename.
63+
## Select research checks by contract
64+
65+
Select the changed mathematical owner and its consuming APIs through the
66+
[theory-to-execution map](theory/README.md#theory-to-execution). The map owns
67+
individual module/test links; proofs own model-specific hypotheses, constants
68+
and frozen preparations. This guide groups the obligations needed to choose
69+
coverage, rather than repeating each research result.
70+
71+
Shared admission changes can cross the routine/research selection boundary.
72+
The default gate includes native relational execution through `tests/test_*.py`
73+
and the listed conservation-diagnostic tests. It does **not** select
74+
[`test_sine_admission.py`](tests/physics/test_sine_admission.py), the
75+
`tests/physics/test_relational_sine_*.py` family, or the regional-transfer
76+
research modules. For a change to the common stored-coefficient boundary,
77+
exercise both native execution and its sine adapter explicitly:
78+
79+
```sh
80+
python -m pytest tests/test_relational_exchange_execution.py tests/test_relational_regular_execution.py tests/physics/test_sine_admission.py -q
81+
```
82+
83+
Then select the affected consumers from the theory-to-execution map. For a
84+
chained report, cover the producer's primitive admission and the downstream
85+
calculation: sampling smoothness to sample budgets, cycle modes to gains,
86+
visible evidence to hidden-state/capacity inference and prior forecasts, or
87+
captured states to regional currents and supplied increments. An SDK pass
88+
checks its adapters and projection; it does not replace those mathematical
89+
controls. A shared primitive-source change also needs the relative-pattern
90+
and forecast-endpoint association controls, including unchanged held capacities
91+
and partial validated horizons.
92+
93+
| Changed contract | Required independent controls |
94+
| --- | --- |
95+
| Complete law, state and coordinates | Differentiate both full nodal rows; retain support, degree normalization, capacity, clock and inputs. Compare native Arg, baseline sine and alternative-mobility laws only under their actual premises. Test moving references, common origins, zero coordinates and same-observation/different-response counterexamples. |
96+
| Primitive and numerical admission | Reject malformed support, law identifiers, authoritative aliases, nonfinite values, Boolean physical scalars, invalid radii and missing consumed coordinates before arithmetic. Rebuild consumed geometry and gradients; cached flags or displayed intervals cannot widen exact admission. Preserve each consumer's zero-capacity/loss and work-limit domain. |
97+
| Algebra, derivatives and storage | Use independent edge sums, high-precision evaluations, exact matrix identities or analytic solutions. Check signed work and loss, all field directions, endpoint events and strict boundaries. Symbolic irrational targets, rational probes and rounded graph states provide different evidence. |
98+
| Relative state, uncertainty and memory | Retain hidden initialization, every environmental node, original port degrees, actual observation times and each member's conserved means. Distinguish unknown common origins, independent nodal residuals and correlated relative coordinates. Inference compatibility is not existence, identifiability or a replayed response. |
99+
| Forecasts and continuous enclosures | Exercise strict Picard inclusion, Taylor remainders, whole-time tubes, endpoint chains and held-parameter semantics against separate analytic fixtures. Retain partial-horizon status and actual validated time. Samples, Euler chords and held-pressure integration cannot replace a coupled continuous enclosure. |
100+
| Geometry, equilibrium and recovery | Check exact circular reconstruction, full sine-current cancellation, weighted gaps and Hessian inertia with independent full-node equations. Geometric feasibility is not equilibrium. Local recovery, all-sector capture and conservative trapping have different initial sets and loss premises. Failed sufficient inequalities remain unavailable. |
101+
| Formation, preparation and budgets | Separate identity absent initially from a supplied target. Keep the original form cost, phase uncertainty and complete law in positive and negative controls. Distinguish scalar storage, directional loss, transient barrier passage, maintained endpoints and accumulated port work; an instantaneous sign is not an integrated supply. |
102+
| Symmetry and composition | Test whole-support/state/capacity equivariance, cycle orientation, relabeling and genuine quotient reconstruction. Ordinary reflection, combined sign/reflection and set-invariant uncertainty boxes have different consequences. Retain external attachments, relative zero modes and noncommuting weighted operators. |
103+
| Collective observations and structural events | Check all competitors, mutuality, unresolved ties and state/support admission separately. Compare quotient and inherited rates with the full fine field. Hypothetical bridges, cuts, AL proposals and resets retain their work budgets and read-only scope; conservation or eligible contact does not prove occurrence. |
104+
| Resonance, pulse and recurrence | Retain the selected port/readout, full tangent pencil and actual coefficient domain. Distinguish gain peaks from complex poles, exact periodicity from orbital stability, and family recurrence from a chosen-state verdict. Independent quadrature or static variation controls do not prove a nonlinear infinite-time response. |
105+
| SDK, CLI and evidence projection | Check delegation, one-source capture, immutable observations, unavailable values, supported node labels and exact fraction export. Direct report schemas and the generic SDK envelope are separate contracts. Malformed reports and source changes must not authenticate themselves through serialization. |
106+
107+
### Boundaries that need explicit regression coverage
108+
109+
- **Chained evidence is rebuilt from its premises.** Change primitive inputs
110+
independently of cached fields, and check that downstream bounds are
111+
recomputed or unsupported declarations reject. Retain valid stored
112+
coefficients without renormalizing them. Test stale favorable flags, zeroed
113+
derivative bounds and inconsistent state/support associations with independent
114+
expected results. Invalid source declarations must fail before a solver runs
115+
or independent one-shot samples are consumed; a supplied signed endpoint
116+
increment must not be replaced by an evaluated form rate.
117+
- **Shared admission does not mean shared theorem domains.** Specialized
118+
sine-cycle recovery retains its larger support domain (including the
119+
51-node control); general phase geometry has separate work caps. The
120+
validated Taylor/comparison owner has a 24-coordinate limit, with boundary
121+
refusal and independent 23-coordinate controls. Its sine layout uses
122+
`2*n+1` coordinates; dimension admission alone certifies no response.
123+
- **Exact and represented geometry remain distinct.** A rounded `pi`, a
124+
small field residual or overlapping intervals cannot establish an exact
125+
antipodal state, equilibrium or symmetry. Test zero resultants, branch
126+
limits, unresolved denominators and strict equality boundaries explicitly.
127+
An admitted native proposal chord is not a continuous trajectory proof.
128+
- **Preparation and endpoint sets retain their provenance.** A tighter
129+
correlated source bound cannot replace a forecast's larger Cartesian
130+
endpoint enclosure. Partial forecasts keep their validated time and
131+
original requested-horizon status. Full-state capture must include remaining
132+
form storage, every sector face and the actual phase uncertainty; favorable
133+
phase geometry alone is insufficient.
134+
- **Reduction retains information and scale.** Memory/second-order identities
135+
keep initial form, the weighted constant mode and moving history. Slow-phase
136+
controls retain the fast transient, memberwise references, original form
137+
remainder and preparation cost. Test zero horizon, tiny positive feedback,
138+
large growth and monotone exponential tails without silently clipping time.
139+
- **All-time and symmetry verdicts have different scope.** Fixed-budget
140+
consensus tests need an independent mixed-Lyapunov derivative from both
141+
full rows, zero-budget and failed-premise controls. Reflection excludes
142+
winding only at nonantipodal observations; it proves neither antipodal
143+
avoidance nor consensus. Equal-budget sources, tiny exact asymmetries and
144+
combined sign/reflection provide discriminating controls.
145+
- **Classification is not a numerical case survey.** Exact factorized
146+
critical sets, full-support Hessian congruences and mode counts need
147+
independent witnesses and invalid-domain controls. Do not replace their
148+
completeness proofs by enumerating thousands of trajectories or transfer
149+
a positive-loss convergence result to zero loss or frozen capacities.
150+
151+
## Current checks and retained evidence
75152

76153
Distinguish three kinds of validation when a research owner changes:
77154

@@ -97,6 +174,12 @@ invocation, freezing and artifact lifecycle. Reuse the appropriate saved evidenc
97174
or shared fixture; do not regenerate completed responses for unrelated changes.
98175
A new reserved prediction needs its own declared inputs and prospective protocol.
99176

177+
Optional retained-record audits skip explicitly when local evidence is absent;
178+
they must not recreate a producer or count missing evidence as a passed response.
179+
Synthetic intervals, step records and stubbed producers test consumer logic,
180+
not historical execution. Preserve original source archives, failures and
181+
inconclusive verdicts; corrections require separately identified evidence.
182+
100183
Local execution is serial by default. To use the main CI scheduling policy,
101184
run `python -m pytest -n 2 --dist loadfile`; this keeps the same `not slow`
102185
selection and assertions. Each file stays on one worker to reuse its module
@@ -171,6 +254,16 @@ a sentinel protocol and synthetic report, without rerunning a scientific produce
171254
cold import orders for the P2/REMESH example families; those checks still use
172255
fresh processes and resolve the actual public APIs.
173256

257+
Cold subprocesses that test this checkout explicitly request the
258+
`source_tree_environment` fixture from [conftest.py](tests/conftest.py) and pass
259+
it as `subprocess.run(..., env=source_tree_environment)`. It copies the process
260+
environment and prepends pytest's configured source paths to `PYTHONPATH`,
261+
without changing the parent's environment. Pytest's `pythonpath` setting only
262+
updates its own interpreter; a fresh Python process can otherwise import a
263+
different installed package. Keep the fixture opt-in: tests of installed-package
264+
discovery or intentional import isolation retain their declared environments.
265+
Working directories, timeouts and optimized-mode flags remain test-specific.
266+
174267
The [Makefile](Makefile) target `make test` uses the routine engine selection;
175268
`make test-all` includes the retained research suites, still excluding `slow`.
176269
`make dev-test` adds coverage over `src`, including compatibility shims. Research

0 commit comments

Comments
 (0)