T&P development import
Griffin imported the T&P development baseline on 10 September 2026.
- Griffin base:
52cf35ceabbca6123c8f95f3b7cb0cd411eb0ca1(3.0.0). - Source owner: the tandpds GitHub organisation. The exact original repository URL is retained in the archived source record described below.
- Source commit:
8057adb716c924652917478b0d3f7a94fec7dbcb(3.1.0). - Source remote main at assessment:
499b8fbd713053f2cde6b53e3c1bde38ebe0d9a3. The final source commit, containing the weekly holiday fix, was local only. - The repositories have complete, unrelated Git histories. The import copies tracked development files rather than merging unrelated histories.
Original records and current naming
The original import record is retained outside the active repository at
../ammm-history/20260915-rename-3.3.2/current-files/docs/contributing/upstream-integration.md,
relative to the repository root. The archive’s current-files.sha256.json
records its checksum. The archive also retains the original historical inputs,
commands and local verification outputs. Git history preserves the tracked
record under its original names.
This page summarises the September integration using neutral names for retired
identifiers. It does not substitute a new source repository URL or relabel
historical test runs as checks of the ammm namespace. Version 3.3.2 requires
its own verification. See the
upgrade guide.
Import scope
The import includes package code, tests, documentation, examples, demo data, requirements, the lockfile and development tooling. It excludes generated run outputs, presentation artefacts, old session handoffs and source-local settings. Griffin’s existing licence, assets and historical run outputs are preserved. The modified T&P licence is not imported.
The authorised Griffin integration retires the failed dashboard experiment. Statistical scenario evaluation and its versioned evidence contracts remain library capabilities for a separately developed application wrapper. Dashboard entrypoints, compatibility shims and UI dependencies are removed in a separate change. FE/CRE support limits and the named RE release gate remain unchanged.
Import verification
On the imported Griffin source, 37 selected runner and holiday tests passed (34 deselected). This verifies the copied baseline’s focused behaviour; it is not a full-suite or statistical validation result. Follow-up changes record broader verification here.
Integration repairs
- Removed 27 dashboard modules and their UI-only tests. Retained the statistical scenario API, local workspace service and versioned evidence payloads.
- Fixed the no-overlap holiday calendar crash without changing the weekly alignment rule or other model semantics.
- Fixed the same-version installed-wheel verification error, removed UI dependencies and updated Griffin package URLs.
- Made the default evidence tests independent of untracked source planning files. The integration retained ten exact historical files as test fixtures, with checksums and a fixture README. Its RE storage tests explicitly emulated the frozen runtime; production environment checks were unchanged.
- For the 3.3.2 rename, the original fixtures were preserved in the external
history archive. The current
tests/fixtures/estimator_evidencefiles are revised regression fixtures. The integration’s original checksums and test results do not validate those revised files.
Verification scope
This section and the results below record checks of the September integration before the 3.3.2 rename. They are historical evidence, not current check results.
The first whole-suite attempt stopped after missing private CRE evidence inputs caused failures. The affected CRE/RE tests pass after fixture repair: 180 passed. Holiday, scenario service, workspace and recipe checks passed: 132 passed. Removing orphaned UI test helpers retained the same collected statistical tests.
All 19 runtime dependency declarations matched that verification
interpreter. Ruff lint/format, configured MyPy checks and offline lockfile
consistency checks passed. The repository had no .pre-commit-config.yaml;
the attempted pre-commit invocation could not run, so its underlying project
checks were executed directly.
The wheel and source distribution built. A fresh temporary environment imported the candidate wheel and verified its resources and scenario CLI. It shared installed third-party dependencies with the verification interpreter; this is an installed-package check, not a fresh dependency-resolution test.
Three bounded real-sampling pipeline runs completed: time series, FE and CRE. Each used two chains with 20 tuning steps and 20 retained draws per chain, four prior draws, eight curve samples and eight curve points. Holdout refitting and external LLM calls were disabled. FE and CRE recipes then reloaded the saved fits and retained historical/manual scenario bundles.
These tiny sampling runs test execution and persistence only. They do not establish convergence, recovery, coverage, identification or release-level statistical validity. No confirmatory simulation programme was executed.
Local smoke inputs, results and summaries were recorded under
sandbox/integration-smoke/. Those historical files are now preserved under
the archive’s local-history/ directory and remain outside distributions.
Final verification result
- Default suite: 2,878 passed, one failed, one skipped, 170 warnings,
1,138.42 seconds. The sole failure was a stale CRE error-message assertion:
the implementation correctly rejected
new_spend_contributions()and directed callers to the now-supported manual scenario API. - Corrected that assertion without changing production code, then reran the complete CRE pipeline test module: 9 passed. The whole suite was not repeated after this test-only correction; there was no single all-passing full-suite run after the correction.
- Strict marker/config collection: 2,880 tests collected.
- Final Ruff lint/format and configured MyPy checks passed; MyPy checked seven
configured source files.
git diff --checkpassed. - Offline lockfile consistency passed; all ten original fixture checksums matched.
- 264 local documentation links resolved.
- Final wheel and sdist build/install smoke passed after fixture additions.
- Griffin’s licence, existing root assets and historical results were unchanged from the original Griffin base. T&P remained on its original branch and commit with only its pre-existing licence modification.
- Griffin remote access was restored using the
griffin-developersaccount. A fresh fetch confirmed remotemainstill matched the original Griffin base above. The checkout used the GitHub CLI credential helper and account through repository-local Git settings for that verification.
The full run used the default test selection with coverage reporting disabled, the Python PyTensor linker, a dedicated temporary compile directory and CPU JAX. The exact command is retained in the archived original import record.
The final focused rerun used the same environment with
tests/pipeline/test_correlated_random_effects_pipeline.py --strict-markers --strict-config. Original logs are retained under
local-history/sandbox/integration-smoke/verification/ in the external archive.