Skip to content

SYNAPSE v5.97.7

Latest

Choose a tag to compare

@JosephOIbrahim JosephOIbrahim released this 24 Oct 12:30

SYNAPSE 5.97.7 adds the audited World Labs Gaussian-splat blueprint and the corrected pipeline behind it, and hardens the release qualification gate so it can fail. It changes no product code — the product-surface check passes — and the payload's diff is four files: three version strings, and pyproject.toml. That last one is not on the product-surface pathspec, and it is the file the product installs from, so this release does change one thing about what the product installs: the Anthropic SDK is now capped below 2.0, because the model-access guard checks the 1.x auth header and 2.x moved the key to Authorization: Bearer <key>. Under 2.x the shipped product refuses every model call, so the pin is the fix and 2.x stays unsupported.

  • An external Gaussian-splat blueprint was run against Houdini 22.0.400 and every call was recorded by outcome: 68 call records, 23 OK, 8 RAISED, 20 MISSING_PARM, 3 FOUND, 14 SKIPPED. The script dies on its third node creation - labs::bake_gsplat is not a node type in this build - and the eight defects are written down in an eleven-entry ledger, beside three entries that are not defects.
  • The blueprint's pipeline was corrected against the audit's findings. Two probes ship with it: the corrected script, which verifies the eleven corrections against the live build, and a standing probe that reads the live build and compares the catalogue - the one that used to print AGREEMENT for a target the catalogue did not name.
  • The release gate had four checks that could not fail: a file-set comparison no build could pass, a verdict read from a directory Inno deletes when it deinitialises, a tamper test aimed at a tree the guard never reads, and a published sentence about where the engine came from that was not true. All four are fixed, and the gate now carries 19 hermetic tests of its own, so a check that cannot fail fails a test instead.
  • The composer that writes the public record had the same defect class twice more. It used to publish that a difference between the release tree's seat-suite count and master's was "attributable to the tree"; it now measures the host's own run-to-run spread, and on the legs measured for this release it says the seat numbers do not separate the two trees. And its summary-line reader required pytest's "==" framing, which a long summary no longer has - so it was about to publish a failure detail out of the log as a suite's result, carrying a local interpreter path with it. The record's own redaction check caught that path and stopped the release. Both are fixed, and both now ship with hermetic tests of their own.
  • The proof chain gained a leg: the bytes Inno actually extracted from the compiled TestSetup are byte-compared against the production build record, which turns "the builder staged these bytes" into "a compiled executable carried these bytes".
  • Two harness boards ship as evidence, not behaviour: the attest board's blueprint ratification gate reads OPEN_AWAITING_JOE, and harness2 has no spec, so neither board changes how SYNAPSE behaves without Joe's word.
  • The Anthropic SDK ceiling was measured, not guessed: 0.75.0 fails, and 0.96.0 (the vendored tree), 1.0.0, 1.15.0 and 1.17.0 pass the 63 model tests, while 2.3.0 fails 8 of them. The ceiling was also measured on the one interpreter line where the committed vendor tree hides the pip SDK: a separate CPython 3.11 environment that imports the pip SDK before SYNAPSE can prepend the committed vendor tree gives 63 passed on 1.17.0 and the same 8 failures on 2.3.0, with the SDK version the only variable between the two runs. 2.x surfaced as five of the six CI jobs going red with nothing in the repository changing - the sixth job was the one still using the vendored SDK - and the release gate refused to continue on that red run.

The actual final EXE was qualified on its own bytes. Its embedded engine was compared against the builder's private record (1,972 payload files, 48 maintenance files), and the 48 maintenance files Inno extracted from the compiled TestSetup are byte-identical to that same record. The production Setup's own embedded tree is not read back from the executable: it refuses in PrepareToInstall, before Inno copies any file, and Inno deletes its temporary directory when it deinitialises - so it is qualified by that chain and not by reading it back. A separate headless Houdini 22.0.400 process resolved the installed package, reported synapse 5.97.7 / protocol 4.0.0 with a matching install stamp, and confirmed the Moneta 1.3.0 schema is registered. A genuine 5.97.6 -> 5.97.7 upgrade installed the published previous payload (id 5.97.6-5536b2e21d03e14b at revision 0c5a800) and then upgraded; a fixture with a missing required dependency was refused with exit 7 and readable text. The production Setup was also run where a Houdini session was open and refused to install with exit 7, which is the documented behaviour. The installer's own 84 unit tests pass, and the stock suite is 12,240 passed, 472 skipped, 11 xfailed on the SDK-pin commit 9dba2f56 and again on 14efe499, a commit that changes no file under tests/; the same tree measured again without Git's sh on PATH gives 12,207 passed and 505 skipped, and the 33-test difference is exactly tests/test_harness_githooks.py, whose pre-commit hook is a POSIX shell script. The interactive wizard, the clean-machine install and arbitrary artist GUI behaviour remain unqualified. The seat legs' failure counts do not separate the release tree from master on this host, and that is stated as a measured limit rather than resolved.

Unsigned: no configured authorized publisher signing identity was available. No signing credentials or security settings were changed. Verify SHA256SUMS; do not bypass a security warning.

Exact source: d68a82bb463feb54d201471417dfb59e203e3bf0. Six-job CI. See installer-verification.json, SYNAPSE-5.97.7-Setup.public-build.json and SHA256SUMS.txt for the exact artifact identities and limits.