@@ -201,8 +201,9 @@ See [regime comparisons](https://github.com/fermga/TNFR-Python-Engine/blob/main/
201201
202202The registry is the semantic interface for named transformations. Catalog
203203completeness and a uniquely derived autonomous selection law remain open.
204- Lowercase English names are execution tokens, title-case names are display/class
205- names, and glyphs are internal symbols.
204+ Read executable tokens from ` TNFR.operators() ` 's ` token ` field; ` name ` is the
205+ display name and ` glyph ` the internal symbol. Do not infer a token by lowercasing
206+ a display/class name. The catalog describes contracts, not live-state admission.
206207
207208| Operator | Glyph | Primary channel | Direct contract or execution boundary |
208209| --- | --- | --- | --- |
@@ -312,12 +313,47 @@ changes against the affected contract and evidence: destabilization, negative
312313results or corrected diagnostics need not increase C. Never hide a contradiction
313314by relabeling telemetry or adjusting a reserved response after evaluation.
314315
316+ ### Shared public execution and observations
317+
318+ For a declared finite operator study, use ` StudySpec ` and ` run_study ` from
319+ ` tnfr.sdk ` . The CLI ` tnfr network ` (also ` python -m tnfr network ` ) delegates to
320+ that same owner in [ sdk/study.py] ( https://github.com/fermga/TNFR-Python-Engine/blob/main/src/tnfr/sdk/study.py ) .
321+ Extend the shared model before adding separate CLI validation, simulation or
322+ serialization logic. ` TNFR.operators() ` and ` list_sequences() ` expose existing
323+ registries; do not maintain a second operator catalog or word table.
324+
325+ ` StudySpec.cycles ` and this CLI's ` --steps ` /` --cycles ` count complete requested
326+ operator words, not seconds. The report records the requested word and observed
327+ endpoints, not every realized per-node glyph; inherited grammar policy and live
328+ preconditions remain active. The supplied zero-form baseline is initialization,
329+ not spontaneous substrate creation. The study runner sets both the topology
330+ seed and graph ` RANDOM_SEED ` ; direct ` TNFR.create(..., seed=...) ` sets only the
331+ topology seed. Other engine configuration is inherited, so retain relevant
332+ configuration and runtime provenance when comparing runs.
333+
334+ Use ` diagnose_network(network) ` for detached stored-state observations. It does
335+ not refresh pressure, evolve the graph or invent missing temporal evidence.
336+ Preserve independent field availability, per-node undefined curvature and xi
337+ estimator provenance. Its nodal product is a model-rate read-out, not a measured
338+ derivative or permission to execute Mutation. Diagnostic values do not select
339+ the next operator in the shared study runner.
340+
341+ ` StudySpec.from_dict ` validates a construction recipe and rejects unknown keys.
342+ ` StudyResult.to_dict() ` returns detached report data; the shared ` export_to_json `
343+ writer saves it. Neither a recipe nor this scalar state/support projection is
344+ a complete resumable checkpoint. ` import_from_json ` reads data without restoring
345+ callbacks, histories or a live graph. Usage and schema details belong to the
346+ [ CLI and SDK guide] ( https://github.com/fermga/TNFR-Python-Engine/blob/main/docs/CLI_AND_SDK.md ) .
347+
315348## 10. Development workflow
316349
317350Inspect repository instructions, local changes and relevant source/tests before
318351editing. Preserve unrelated work. Keep definitions centralized and APIs stable
319352or explicitly migrated. Documentation should identify current owners rather
320- than duplicate derivations and delivery histories.
353+ than duplicate derivations and delivery histories. The documentation map owns
354+ navigation and responsibilities; the example and benchmark indexes identify
355+ maintained entry points and their scope. Historical paths or retired notebooks
356+ are evidence to inspect, not current instructions to restore automatically.
321357
322358### Commit / PR templates
323359
@@ -332,6 +368,17 @@ postconditions, unsupported domains, numerical/representation boundaries and
332368provenance where relevant. Do not assume RA always increases synchronization,
333369OZ always produces a bifurcation, or every valid sequence is monotone. A test
334370suite checks finite cases and implementations, not unrestricted theorems.
371+ Exercise the actual shared owner with an independent expected result or a
372+ meaningful boundary; assigning fixture literals and asserting those same values
373+ does not test nodal dynamics. Reuse an expensive producer's report through a
374+ module fixture while retaining distinct assertions. Test CLI/report wiring
375+ separately when it needs no new scientific execution; preserve independently
376+ necessary cold-import, atomicity and provenance checks. See the
377+ [ core contract map] ( https://github.com/fermga/TNFR-Python-Engine/blob/main/tests/core_physics/README.md )
378+ for the tests that retain the behavior of retired introductory illustrations.
379+ Default test selection, dependencies and parallel scheduling have their owners
380+ in test configuration and the workflow guide; do not duplicate those settings
381+ here or regenerate historical research artifacts for an unrelated change.
335382See [ TESTING.md] ( https://github.com/fermga/TNFR-Python-Engine/blob/main/TESTING.md ) .
336383
337384## 11. Troubleshooting
@@ -365,20 +412,24 @@ the plan rather than appending milestones here.
365412
366413| Owner | Responsibility |
367414| --- | --- |
368- | ` dynamics/ ` | Pressure realization, phase/capacity evolution and shared integration |
415+ | ` dynamics/ ` | Configured pressure and phase/capacity maps; shared integration |
369416| ` operators/ ` | Named transformations, grammar, stages and causal execution |
370417| ` physics/ ` | Fields, model theorems, reductions and scope-aware observations |
371418| ` metrics/ ` | Shared coherence, sense and diagnostic kernels |
372419| ` config/ ` , ` constants/ ` | Declared defaults, policy calibration and classifications |
373420| ` mathematics/ ` | Numerical backends, exact helpers and arithmetic constructions |
374- | ` sdk/ ` | Public network interfaces |
421+ | ` sdk/ ` | Public networks, validated study recipes and detached diagnostic reports |
422+ | ` cli/ ` | Command adapters; study execution and catalogs reuse SDK owners |
375423| ` research/ ` and domain packages | Scoped experiments and analysis |
376424
377425See [ ARCHITECTURE.md] ( https://github.com/fermga/TNFR-Python-Engine/blob/main/ARCHITECTURE.md ) ,
378426[ docs] ( https://github.com/fermga/TNFR-Python-Engine/blob/main/docs/README.md ) and
379427[ examples] ( https://github.com/fermga/TNFR-Python-Engine/blob/main/examples/README.md ) .
380428Historical examples can illustrate an auxiliary model without proving physical
381429emergence; consult the current theoretical owner before reusing a conclusion.
430+ Choose the current entry point from the example index rather than assuming an
431+ old numbered filename still exists. Examples and benchmarks are not an
432+ instruction to execute every file or reopen parked research branches.
382433
383434## 14. Philosophy & excellence standards
384435
0 commit comments