feat: add branch-driven discovery and archive runner v2 - #5
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR upgrades the mathematical-object archive runner with a branch-driven discovery workflow while preserving the existing JSON queue mode.
The runner can now select suitable mathematical objects from supplied research branches, create and verify each archive in its own Moonshine project and session, and continue serially until the requested number of verified archives is reached.
No Moonshine source code is modified.
Motivation
The original runner required every mathematical object to be specified in advance through an input JSON file.
For broader archive collection, the runner also needs to:
Main Changes
--branches--target-archives--run-name--stream-outputArchive Content
The archive format and task skills now emphasize the mathematical reason an object was formed:
The archive is intended to explain mathematical meaning and formation rather than present a chronology of people and publications.
Verification
The verification tool continues to act as the publication gate.
It checks:
Only the exact Markdown accepted by the verifier is published.
Safety and Recovery
This version preserves and extends the deterministic contracts introduced by earlier PRs:
mode="chat"project_slugagent_slug="moonshine-core"Tests
The integration tests use real Moonshine session persistence, tool registration, material staging, verification-event storage, recovery, and archive publication.
Limitations
This PR does not validate:
Those remain runtime and evaluation concerns.