Aumos

The AMP/1 conformance suite

What is checked, what is deliberately not, and why the difference matters.

Generated from the repository, and needed only when you are implementing the protocol outside Aumos. Writing a package needs neither page.

Every check below is a statement about your manifest or about the payloads you return. None of them reads your code, because the inside of an manager is treated as opaque — which is the only way a suite can judge a harness written in another language, or one whose responses were recorded a year ago.

Every check the suite runs

CheckWhat it establishesRequirement
manifest-validManifest validates against AMP/1§7, roadmap §#145
immutable-versionDeclares an immutable version§23, §43
declares-skillsDeclares required Skills§43
declares-permissionsDeclares permissions as capabilities§37, §43
no-broker-writeRequests no broker write capability§36, invariant 5
network-declaredDeclares a network policy§38
timegate-clean-contextNo invocation carries context dated after its asOfinvariant 6, #147
produces-decision-proposalEvery response carries a schema-valid DecisionProposal§10, §11, §43
protocol-declaredEvery response declares AMP/1§8
echoes-invocation-idEvery response echoes its invocationId§10
no-direct-broker-executionNo response contains an execution instruction§36, §43
language-costs-nothing-structuralA non-English `language` does not change the wire formatAMP/1 `language`, §26
supports-waitReaches a non-mutating judgement when nothing is available§11, invariant 4
wait-is-reasonedA do-nothing judgement is fully argued§11, invariant 4
watch-carries-triggerA WATCH names what it is watching for§11
moving-action-names-a-targetA judgement that moves the book names a target§12, §13
skills-used-declaredReported skill usage stays within the declared set§37, §43

What the suite refuses to judge

It does not check that your prose came back in the requested language. Doing so means running a language detector and scoring you on our detector's accuracy, with no view inside your implementation to settle a disagreement. A check that is wrong some of the time is worse than no check, because a failing row reads as your fault. What it checks instead is the half that actually breaks: a non-English request must cost nothing structurally.

It also does not judge whether your decisions are any good. Six runs establish nothing about that, and pretending otherwise is what a forward track record exists to replace.

The suite run against its own reference implementation

The reference implementation is the smallest thing that passes. It reasons about nothing — it answers WATCH when it has an event and a thesis to attach one to, and WAIT otherwise, which is the honest answer for something that does no analysis — but it is an executable definition of "conformant" to diff against.

AMP/1 CONFORMANT — aumos/basic-investor@0.2.3

✓ manifest-valid  Manifest validates against AMP/1
    aumos/basic-investor@0.2.3
✓ immutable-version  Declares an immutable version
    0.2.3 is exact — a track record can be attached to it
✓ declares-skills  Declares required Skills
    requires 1 skill(s)
✓ declares-permissions  Declares permissions as capabilities
    2 capability declaration(s), all within the AMP/1 enum
✓ no-broker-write  Requests no broker write capability
    No execution capability requested — and the enum has no way to spell one
✓ network-declared  Declares a network policy
    deny — all data access goes through the Skill Gateway, where the TimeGate can see it
✓ timegate-clean-context  No invocation carries context dated after its asOf
    7 invocation(s) clean; runtime enforcement is the Skill Gateway's (#147)
✓ produces-decision-proposal  Every response carries a schema-valid DecisionProposal
    7/7 response(s) valid
✓ protocol-declared  Every response declares AMP/1
    all 7 enveloped response(s) declare AMP/1
✓ echoes-invocation-id  Every response echoes its invocationId
    no response could be mistaken for another run
✓ no-direct-broker-execution  No response contains an execution instruction
    Proposals express portfolio intent only; orders are the Planner’s to construct
✓ language-costs-nothing-structural  A non-English `language` does not change the wire format
    1 non-English case(s) returned the same wire format; the prose language itself is not judged here — §5 leaves no view inside a manager to settle a disagreement with a language detector
✓ supports-wait  Reaches a non-mutating judgement when nothing is available
    answered WAIT on the excluded symbol
✓ wait-is-reasoned  A do-nothing judgement is fully argued
    every WAIT/WATCH carried reasons and risks
✓ watch-carries-trigger  A WATCH names what it is watching for
    every WATCH armed at least one trigger
✓ moving-action-names-a-target  A judgement that moves the book names a target
    1 judgement(s) moved the book, naming 2 target(s) each; `target` and `targets` are read as one list, `target` first, later entries winning
✓ skills-used-declared  Reported skill usage stays within the declared set
    7 response(s) reported skill usage, all declared