Repository navigation
feat(examples): add market data integrity verify loop - #541
JackChen-me merged 2 commits into
Conversation
|
Everything else checks out. Fixtures are internally consistent, and the |
|
Thanks for the detailed review. I addressed both failure modes in 0a1fefc:
Validation completed:
Thanks again for catching the nondeterministic filename handoff and the hard-to-debug failure path. |
#546) The published body was the changelog section and nothing else, so a reader of a release page could not tell which packages shipped, how to install them, or who contributed. green3sf landed #536 and #541 in 1.16.1 and the release page credited nobody. Three deterministic sections now follow the changelog section: - `## Packages` names every workspace version and reports the ones this release left alone, derived by comparing the release commit's manifests against its first parent. - `## Thanks` credits contributors from outside the project, resolved from the commits between the previous release tag and the release commit. Bot commits and the maintainer's own are excluded, and the section is omitted when nothing remains. Names are plain rather than mentions, because a published body that mentions an account notifies it. - `## Install` is copy-pasteable. The whole body is still composed before anything reaches the npm registry, so a malformed changelog or an inconsistent manifest set keeps failing ahead of publication rather than after it. The previous tag is resolved from the release commit's first parent rather than from HEAD. On an idempotent re-run this release's tag already exists, and describing from HEAD would report an empty range and silently drop every contributor from the body.
Summary
ACCEPTthat must be revised to an actionableQUARANTINEreportWhy this is a verify-loop recipe
The proposer receives only locally continuous retained depth events and independent aggregate-trade activity. Snapshot-boundary metadata and collector lifecycle evidence are deliberately withheld for the judges:
protocol-continuity-judgecheckssnapshot-metadata.jsonbacktest-risk-judgecheckscollector-log.txtplusdata-quality-policy.mdThe task sets
quorum: 2,maxRounds: 2, andonDissent: "revise". It usesjudgePrompt: (judge) => stringfor source isolation and intentionally does not setmode, because the custom judge prompt replaces the built-in mode instruction.Runtime assertions require the observable path
ACCEPT -> QUARANTINE, both judges in round one, both judges accepting round two, the exact900101-900104gap, the reconnect time window, source citations, and replacement-data remediation.All fixtures are synthetic and explicitly marked MOCK. The example makes no exchange request and uses no exchange credentials.
Validation
npm run test:example-catalog— 9 tests passed; 63 entries validatedtsc --noEmit— passednpm run lint -w @open-multi-agent/core— passednpm run build -w @open-multi-agent/core— passednpm run test -w @open-multi-agent/core— 1949 tests passedgit diff --check— passedThe real-provider example itself was not executed because it requires
ANTHROPIC_API_KEY; no contributor or exchange credential was used. CI and the deterministic checks above cover compilation, catalog registration, verify-loop behavior, and fixture consistency.Closes #540
Context: #147
@JackChen-me this implements the accepted verify-loop direction with
quorum: 2, judge-specific source prompts, and nomodeoverride.