T&P development import

Griffin imported the T&P development baseline on 10 September 2026.

  • Griffin base: 52cf35ceabbca6123c8f95f3b7cb0cd411eb0ca1 (3.0.0).
  • Source repository: https://github.com/tandpds/Abacus.git.
  • 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.

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. Ten exact historical files are retained under tests/fixtures/estimator_evidence, with checksums and a fixture README. The historical RE storage tests explicitly emulate their frozen runtime; production environment checks remain unchanged.

Verification scope

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 match the current verification interpreter. Ruff lint/format, configured MyPy checks and offline lockfile consistency checks pass. The repository has 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 build. A fresh temporary environment imports the candidate wheel and verifies its resources and scenario CLI. It shares 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 are retained under sandbox/integration-smoke/. They are excluded from Git and 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. This verifies all 2,879 non-skipped tests across the full run and the focused rerun. The whole suite was not repeated after this test-only 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 --check passed.
  • Offline lockfile consistency passed; all ten fixture checksums match.
  • 264 local documentation links resolve.
  • Final wheel and sdist build/install smoke passed after fixture additions.
  • Griffin’s licence, existing root assets and historical results are unchanged from the original Griffin base. T&P remains on its original branch and commit with only its pre-existing licence modification.
  • Griffin remote access was restored using the griffin-developers account. A fresh fetch confirmed remote main still matches the original Griffin base above. This checkout uses the GitHub CLI credential helper and account through repository-local Git settings.

The full run used the default test selection with coverage reporting disabled:

PYTHONDONTWRITEBYTECODE=1 \
PYTENSOR_FLAGS="base_compiledir=/tmp/abacus-griffin-suite,linker=py" \
JAX_PLATFORMS=cpu python3 -m pytest \
  -o addopts='' -p no:cacheprovider -q --durations=15 --maxfail=3

The final focused rerun used the same environment with tests/pipeline/test_correlated_random_effects_pipeline.py --strict-markers --strict-config. Logs are retained locally under sandbox/integration-smoke/verification/.