wire gensyn axl decision gossip transport#22
Conversation
Deploying chainshield with
|
| Latest commit: |
2355889
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://159447ac.chainshield.pages.dev |
| Branch Preview URL: | https://feat-gensyn-axl-gossip.chainshield.pages.dev |
|
Warning Rate limit exceeded
To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (8)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Review rate limit: 0/1 reviews remaining, refill in 19 minutes and 10 seconds.Comment |
Summary
src/transport/axlGossip.ts(AxlGossipTransport) andsrc/transport/noopGossip.ts(NoopGossip) implementing a newGossipTransporttrait. EveryBLOCKdecision is published to the local Gensyn AXL bridge node so co-operating ChainShield gates on other machines can react over the AXL mesh without a centralised relay.DecisionEnginevia a new optionalgossip?: GossipTransportoption. The broadcast happens at the end ofhandleRemediation, after the playbook runner and notification channels, so the verdict and remediation are already settled when the mesh sees them.src/risk-gate/server.tsreadsAXL_BASE_URLand falls back toNoopGossipwhen unset, so existing standalone deployments behave identically.logger.warn. The risk gate never fails because AXL is offline.Files
src/transport/axlGossip.ts,src/transport/noopGossip.ts,tests/axlGossip.test.tssrc/core/engine.ts,src/risk-gate/server.ts,.env.example,README.md,tests/engineRemediation.test.tsTest plan
bun run typecheck:server(zero errors)bun test(109 pass / 0 fail, 19 new expect calls across 8 new specs)bun run build(server + astro static)NoopGossipfallback verified: existing 99 specs still pass without configuringAXL_BASE_URLBLOCK, never onALLOWorREQUIRE_HUMAN_CONFIRMATIONNotes
http://127.0.0.1:9002/api/v1/mcp/publish. The exact AXL HTTP path may need a one-line tweak when validated against a running node; the rest of the module (auth-less POST, JSON{ topic, payload: { decision, policy } }body, soft-failure) is stable across the documented AXL surface.GossipTransport.broadcastnever throws, this awaiting is safe.Need help on this PR? Tag
@codesmithwith what you need.