SynthWorld 0.11.0
Published on PyPI as idcognito-synthworld==0.11.0 (wheel and sdist). The tag is annotated and SSH-signed; git verify-tag v0.11.0 checks it without trusting the forge.
Read this before scoring against an ambiguity pack
Nine of eleven known channels through which the ambiguity pack's answer key was recoverable from its public artifact are closed in this release. Two remain open — see #68.
If you generated evaluation packs with an earlier version, regenerate them. A system under test could reach the right answer without doing the task, so scores measured against those packs do not mean what they appear to. Regenerating with 0.11.0 does not make a pack safe against the two remaining channels; it does close the other nine, which is a large difference.
The frozen canonical pack was affected and is re-cut here, with new digests recorded in GOLDEN_REVIEW.md. Every other frozen benchmark — Asteria Agentic v1 included — is byte-identical.
The one worth understanding
Eight of the nine were metadata bound to the label: collection ordering, name pools indexed by a scenario ordinal, positional record identifiers, source types constant per scenario, repetition counts, attribute counts, a locality token, cross-listing multiplicity.
The ninth was different in kind. The substitution plan was a deterministic function of a published seed over canonical values that live in public source, so it could be recomputed and inverted rather than correlated — 0.929 disposition recovery against a 0.467 baseline, reading no identity evidence. No statistical leak detector could have found it, because there is no structure in the emitted values to detect.
generate_ambiguity_variant therefore now requires a key that is never serialized:
from synthworld.ambiguity_variants import UNKEYED, generate_ambiguity_variant
generate_ambiguity_variant(seed=42, key=UNKEYED) # reproduces published packs
generate_ambiguity_variant(seed=42, key=secrets.token_bytes(16)) # for evaluationA held-out seed protects surface values and nothing else — it is published inside the artifact. A held-out key protects the artifact.
New task families
Human identity-resolution ambiguity pack; oracle-free provider-shaped search projection with scoring; deterministic temporal identity worlds; broker deletion-and-reappearance scoring; consumer-neutral run receipts; a households profile; and a recoverability detector.
Contract versions
BROKER_SCORING_VERSION 2.0.0 and TEMPORAL_SCHEMA_VERSION 1.1.0 — both on schemas that have never shipped in a package, so nothing released changes meaning. Data contracts are versioned independently of the package; see DATA_DICTIONARY.md.
What's Changed
- Publish Asteria trace conventions for chains, evidence, and side effects by @bluntmachetti in #35
- Feature agent authority in README by @bluntmachetti in #37
- Agent authority contract package and validate agentic-trace by @bluntmachetti in #38
- Revise planned work items in README by @bluntmachetti in #39
- Harden the shipped agentic surface: derive expected_policy_version, close the case-kind vocabulary by @bluntmachetti in #40
- Measure recoverable truth, and add the households_and_workplaces profile by @bluntmachetti in #44
- Document the core identity world as a smoke surface by @bluntmachetti in #45
- Sign release tags, and document why by @bluntmachetti in #46
- Emit ground truth the evaluator accepts, and fix reproducibility by @bluntmachetti in #47
- Complete the households profile: locality, realism metrics, manifest, CLI by @bluntmachetti in #48
- Freeze a households smoke fixture and document generation cost by @bluntmachetti in #49
- Add the human identity-resolution ambiguity pack by @bluntmachetti in #50
- Add an oracle-free, provider-shaped search projection by @bluntmachetti in #51
- Protect the public consumer-integration boundary by @bluntmachetti in #56
- Fix semantically corrupt ambiguity variants by @bluntmachetti in #54
- Preserve complete ambiguity partition evaluation by @bluntmachetti in #57
- Add consumer-neutral reproducible run receipts by @bluntmachetti in #58
- Close three oracle channels in the ambiguity pack by @bluntmachetti in #59
- Score the search projection, and document what it is by @bluntmachetti in #53
- Set out security scope and route reports from CONTRIBUTING by @bluntmachetti in #55
- Add the privacy-exposure temporal slice (#2) by @bluntmachetti in #60
- Score broker deletion and reappearance (#5) by @bluntmachetti in #61
- Give attribution evidence, refuse an impossible claim, bump the contracts by @bluntmachetti in #66
- Key the substitution plan: a public seed is not a secret by @bluntmachetti in #67
- Prepare SynthWorld 0.11.0 by @bluntmachetti in #69
Full Changelog: v0.10.0...v0.11.0