MAS-WP-0014 T01: independent JS email side for mode contract v0.1; MCP-1..6; flow a-008
impl/js/src/email.mjs (written from CONTRACT.md + FLOWS.md): both roles, case store, handoffs, timeouts, one-cap outbox with holding, authorization. Passes all 22 flows from the bundle; with the JS master all 12 slave flows (no Python contract party). Writing it found six contract gaps, folded into the draft as MCP-1..6 (acknowledgement, details convention, resume names the outcome, opaque case key, error table, transfer reporting); flows now check outcome tokens, not reference prose. A mutation check found a missing flow: a-008 (per-type master check). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 5787@bnt-lap001 Assistant-Session: 5db26b82-138b-40cc-9856-4d5eb0f752fd
This commit is contained in:
parent
a5310dd63c
commit
71c17fb5f9
14 changed files with 844 additions and 44 deletions
|
|
@ -21,4 +21,21 @@ def test_js_outside_master_passes_the_slave_flows():
|
|||
from mas_modes.runner import run_mode_corpus
|
||||
rep = run_mode_corpus(master_factory=ExternalMaster.js, roles=("slave",))
|
||||
assert rep.ok, rep.failures
|
||||
assert rep.passed == 11
|
||||
assert rep.passed == 12
|
||||
|
||||
|
||||
def test_js_email_side_passes_every_flow():
|
||||
from mas_modes.external import ExternalEmail
|
||||
from mas_modes.runner import run_mode_corpus
|
||||
rep = run_mode_corpus(email_factory=ExternalEmail.js)
|
||||
assert rep.ok, rep.failures
|
||||
assert rep.passed == 22
|
||||
|
||||
|
||||
def test_js_email_and_js_master_together():
|
||||
# Neither contract party is Python: only the gateway and the callback stub are.
|
||||
from mas_modes.external import ExternalEmail, ExternalMaster
|
||||
from mas_modes.runner import run_mode_corpus
|
||||
rep = run_mode_corpus(email_factory=ExternalEmail.js, master_factory=ExternalMaster.js, roles=("slave",))
|
||||
assert rep.ok, rep.failures
|
||||
assert rep.passed == 12
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue