Skip to content

feat(scoring): add situational score projections#3

Merged
JSONbored merged 1 commit into
mainfrom
codex/gittensory-score-projections
May 26, 2026
Merged

feat(scoring): add situational score projections#3
JSONbored merged 1 commit into
mainfrom
codex/gittensory-score-projections

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Summary

  • add private score scenario projections for current, clean-gates, pending-merge, linked-issue, and best-reasonable-case paths
  • extend local branch analysis with base freshness checks, account-vs-branch blocker separation, rerun conditions, and scenario-aware next actions
  • update MCP CLI/API schemas/docs/tests for pending merge, projected credibility, and stale-base workflows

What changed

  • exposes effective estimated score and underlying potential score separately
  • explains blocker deltas such as open PR pressure and credibility floor changes
  • recognizes Go and other ecosystem test files, and treats passed validation commands as test evidence
  • bumps the MCP package to 0.1.3

Validation

  • git diff --check
  • gitleaks detect --source . --redact --no-banner
  • npm pack --workspace @jsonbored/gittensory-mcp --dry-run --json
  • npm run test:ci

Notes

  • scenario projections are private API/MCP output only
  • public-safe PR packets remain sanitized and do not include reward estimates, wallet data, hotkeys, raw trust scores, or payout claims

@JSONbored
JSONbored merged commit cd6ffb3 into main May 26, 2026
1 of 2 checks passed
@JSONbored
JSONbored deleted the codex/gittensory-score-projections branch May 26, 2026 08:55
@JSONbored JSONbored added the gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier. label Jun 10, 2026
JSONbored added a commit that referenced this pull request Jul 2, 2026
The new outcome:error regression test's /issues/42/events mock lacked a
"reopened" event for the payload's actual reopener, so the #2369 live
recheck #3 (reopenerSuperseded) denied the close before ever reaching the
PATCH-fails path this test targets. Add the missing "reopened" event,
matching the pattern already used by every other reopen-reclose test in
this file.
JSONbored added a commit that referenced this pull request Jul 2, 2026
* fix(queue): record the real outcome when a reopen-reclose fails

Both the warning comment and the actual close call in
maybeRecloseDisallowedReopen were wrapped in .catch(() => undefined),
but the function unconditionally wrote a github_app.reopen_reclosed
audit event with outcome:"completed" regardless of whether the close
API call actually succeeded. A 403 from reduced permissions, a 404,
or a transient 5xx was silently swallowed while the audit ledger kept
recording a successful re-close — an operator trusting the audit
trail would believe the one-shot close was enforced when the PR may
still be open. This mirrors the same audit-fidelity gap already fixed
on the draft-dodge path.

Capture the close call's settled result and branch the audit outcome
on it: "completed" only when closePullRequest actually resolves,
"error" otherwise, with the underlying error captured in metadata.
The courtesy comment's own failure still never affects this — it's
independent of whether the close succeeded.

* test(queue): fix reopen-reclose CI failure test's stale event timeline

The new outcome:error regression test's /issues/42/events mock lacked a
"reopened" event for the payload's actual reopener, so the #2369 live
recheck #3 (reopenerSuperseded) denied the close before ever reaching the
PATCH-fails path this test targets. Add the missing "reopened" event,
matching the pattern already used by every other reopen-reclose test in
this file.
JSONbored added a commit that referenced this pull request Jul 8, 2026
…gate the merge (#4171)

Content/registry repos (metagraphed today) have no schema/lint/codecov
net to catch a semantically-wrong-but-structurally-valid defect -- their
own AI reviewer's judgment is the only thing that ever catches it, yet
applySurfaceGate's guard #3 lets a decisive deterministic surface merge
unconditionally override even a confidently-flagged AI-judgment blocker.

Adds gate.aiJudgmentBlockers: "gate" | "advisory" (default "advisory",
byte-identical everywhere that doesn't opt in), YML-only config mirroring
contentLane's own shape since this only matters for repos already running
the registry content lane. When "gate", the AI-judgment-only override is
skipped and the finding survives into the deterministic gate's own
blockers, demoting the decision away from merge -- reproducing exactly
the PR #3910 shape (correct-in-prose, wrong-in-disposition) as
structurally impossible once a repo opts in.

Setting metagraphed's own .gittensory.yml to gate.aiJudgmentBlockers:
"gate" is a separate follow-up PR in that repo, gated on this shipping.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant