feat(miner-mcp): event-ledger audit feed tool (#5158) - #5348
Conversation
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Tip 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 ✅ Gittensory review result - approve/merge recommendedReview updated: 2026-07-12 14:49:49 UTC
✅ Suggested Action - Approve/Merge
Review summary Nits — 5 non-blocking
Review context
Contributor next steps
Signal definitions
[BETA] Chat with GittensoryAsk Gittensory a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://gittensory.aethereal.dev/docs/gittensory-commands 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5348 +/- ##
=======================================
Coverage 94.40% 94.41%
=======================================
Files 550 550
Lines 44117 44141 +24
Branches 14631 14631
=======================================
+ Hits 41650 41675 +25
+ Misses 1792 1791 -1
Partials 675 675
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Closes #5158
Summary
Adds
gittensory_miner_get_audit_feed, a read-only MCP tool ongittensory-miner-mcpthat exposes the local append-only event ledger as a metadata-only audit feed. Reads througheventLedger.readEvents()+ existing CLI filters (repoFullName,since,type); projects each row to{ eventType, repoFullName, outcome, actor, detail, createdAt }without returningpayload_jsonor other raw columns.Shape mirrors ORB's
gittensory_get_agent_audit_feedwhere the schemas align, adapted for the miner's local ledger vocabulary.Changes
packages/gittensory-miner/lib/event-ledger-cli.jsprojectLedgerEventToAuditFeedEntry,normalizeAuditFeedMcpFilter,collectEventLedgerAuditFeedpackages/gittensory-miner/bin/gittensory-miner-mcp.jsgittensory_miner_get_audit_feedpackages/gittensory-miner/bin/gittensory-miner-mcp.d.tsinitEventLedgerinjection seampackages/gittensory-miner/README.mdtest/unit/miner-mcp-audit-feed.test.tstest/unit/miner-mcp-scaffold.test.tsResponse shape
{ "repoFullName": "acme/widgets", "events": [ { "eventType": "manage_pr_update", "repoFullName": "acme/widgets", "outcome": "ready", "actor": "miner-bot", "detail": "gate passed", "createdAt": "2026-07-04T12:00:00.000Z" } ] }Optional tool arguments (mirror
ledger list):repoFullName—owner/reposince— non-negative integer seq cursor (strictly greater-than semantics fromreadEvents)type— event type string (--typeequivalent)Notes
gittensory-miner ledger list --jsonstill returns full ledger rows (includingpayload) for local debugging; MCP returns the metadata-only projection required by Mirror AMS's event-ledger as a read-only MCP tool (gittensory_miner_get_audit_feed) #5158.event-ledger.js.help wanted,gittensor:feature— confirm contributor eligibility before opening.Test plan
{ events: [] }repoFullName/since/typefilters appliedcollectEventLedgerAuditFeed()(invariant)appendEvent(invariant)npx vitest run test/unit/miner-mcp-audit-feed.test.ts test/unit/miner-event-ledger-cli.test.ts test/unit/miner-mcp-scaffold.test.tsnpm run test:ci