Repository navigation
Immutable
release. Only release title and notes can be modified.
Wrap publish: the scrubber keeps a program's structure, and info lint is advice
- The outbound scrubber no longer rewrites the generated files of a wrap
program.admission.json,openadapt-wrap-publish.json,
readback/verify.yaml,sections.json,templates/layout_fingerprint.json
andjit_draft.jsondeclare each field as content (always scrubbed) or
structural (kept only with its declared machine shape); undeclared fields
are scrubbed.workflow.jsonkeeps identity signal slots, the punctuation
policy and the compiler's identifier-crop reasons. Before, the NER scrub
turnedv1andstep_002into placeholders, and every wrap publish was
refused withSANITIZATION_CHANGED_PROGRAM. - Strict lint for hosted validation now fails on
warnanderrorfindings,
asopenadapt-flow lint --strictdoes. Aninfofinding such as
missing_identifier_cropon a step whose structured identity owns the check
no longer refuses every web program withVALIDATION_FAILED.
A hosted Standard run of an admitted program rests on its admission
openadapt-flow run --managed-dispatch-fileunder the Standard profile now
accepts a dispatch without a qualification admission for an admitted
agent-compiled program (openadapt wrap,jit). Its bundle must carry an
admission.jsonthat verifies against the trusted admission key directory,
plus a validreadback/verify.yaml. The authorization'sapproval_source
must name that exact admission (hosted:program-admission:<sha256>). The
run reads back through the bundledverify.yaml. Regulated is refused.
Seeopenadapt_flow/jit/hosted_authority.py.openadapt wrap publishwrites the program's value-free Standard run shape
intoopenadapt-wrap-publish.json(run_authorization). The new refusal
RUN_SHAPE_UNAVAILABLEcovers an unknown policy.openadapt wrap publishnow finds the confirmed read-back checks where
the first run writes them (compiled/verify.yaml). Before, every real
task was refused withNO_READ_BACK. The person-signed teach
authorization stays local and is no longer staged for upload; the
sanitizer refused its.sigfile.
Wrap publish: review fixes for hosted admitted-program runs
- The bundled
readback/verify.yamlreplaces the deployment's effects
verifier only after the run's authority is decided: a managed dispatch
that rests on the program's own admission, with no production authority
file and no qualification admission. Before, any managed run of a bundle
with anadmission.jsonand averify.yamlused the bundled file, signed
or not. - The uploaded admission binds the SHA-256 of the bundled
verify.yaml
(hosted.readback_sha256). The runner refuses a different file. - Person and record identifiers no longer reach the cloud. In the uploaded
admission.jsonandverify.yaml, a principal stays in plaintext only as
aci:,agent:orservice:handle or a key fingerprint. Anything else
becomeshmac:<hex>, keyed with a per-install key in
<key_dir>/keys/principal-hmac.key. The sanitizer replaces any other
principal with<PRINCIPAL>. - A run receipt, and its signed production projection, carry
authority_basis: customer-attested-program-admissionwhen the run rested
on a program admission. Other receipts are unchanged. - Hosted strict lint keeps
missing_identifier_cropblocking on an RDP or
Citrix target, where the crop is the only pixel identity evidence. - Removed the unused
shape_matches_authorization.