Skip to content

README, credit and install docs - #15

Merged
JacobStephens2 merged 2 commits into
mainfrom
issue-11
Sep 25, 2026
Merged

JacobStephens2 merged 2 commits into
mainfrom
issue-11

Conversation

@JacobStephens2

Copy link
Copy Markdown
Owner

Summary

A README for someone else to run thirdshift, an MIT LICENSE, and credit to mattpocock/skills with its MIT notice shipped alongside the embedded Factory skills.

 ./
+├── README.md        # purpose, what a Run does, status, install, prerequisites,
+│                    # usage, logs, Continuation, Failed runs, credits
+├── LICENSE          # MIT, thirdshift
 ├── skills/
+│   ├── LICENSE      # MIT, Matt Pocock: embedded and written out with the skills
 │   ├── code-review/ …
 └── tests/fresh_run.rs
+    └── ships_the_mattpocock_skills_mit_notice_with_the_factory_skills

Everything from the comment on #11 is in the README: git identity, what sessions leave outside the worktree, installing toolchains up front, libgbm1 for headless Chromium, and subscription usage vs total_cost_usd.

Most of the designed behaviour (pre-flight, Continuation, Failed run, Repairs, progress lines) isn't built yet. The README describes the design, and a Status section says what works today and points to #2.

Tested seam: the thirdshift CLI. The new test runs the binary and checks that the plugin directory handed to claude contains skills/LICENSE with Matt Pocock's MIT notice.

Evidence

  • Before: ships_the_mattpocock_skills_mit_notice_with_the_factory_skills fails: license: None
    After: cargo test: 9 passed. cargo fmt --check and cargo clippy --all-targets -- -D warnings are clean.

Note: include_dir! doesn't notice a newly added file under skills/ until the crate recompiles. Locally that took touch src/plugin.rs. CI and cargo install --path . build fresh, so they are unaffected.

Merge Danger

Door: two-way

Docs, license files and one test. The only runtime change is one extra file, skills/LICENSE, in the temp plugin directory.

Blast Radius: negligible

Unaddressed findings

Standards

  • Duplicated Code / Message Chains (claude_calls()[0]["plugin_files"][…] in two tests): only two call sites. A Scenario::plugin_file helper can wait for a third, as the reviewer also suggested.
  • README restates the CONTEXT.md definitions of Failed run and Continuation: the README is for users and CONTEXT.md is the glossary. A short restatement keeps the README readable on its own, and the bold terms link back to CONTEXT.md.

Spec

  • Step 7 says cleanup happens "whether the Run succeeded or not", but Ctrl-C skips it today: that is the designed behaviour (The Failed run path #5), and the Status section already lists the Failed run path as not yet built.
  • A malformed Issue URL exits 1 without the usage message: that's a code gap for pre-flight (Pre-flight checks #4), not a README error. The README describes the exit codes as they are today.

Closes #11

🤖 Generated with Claude Code

JacobStephens2 and others added 2 commits September 25, 2026 04:38
The README covers what thirdshift is, install, the runner's
prerequisites, usage, logs, Continuation and Failed runs. The
mattpocock/skills MIT notice lives in skills/LICENSE, so it is embedded
with the Factory skills and written out with them on every Run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Also say push access is git's, not gh's, and keep the license test's
text borrowed instead of copying it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@JacobStephens2
JacobStephens2 merged commit 888c09e into main Sep 25, 2026
1 check passed
@JacobStephens2
JacobStephens2 deleted the issue-11 branch September 25, 2026 11:10
JacobStephens2 added a commit that referenced this pull request Sep 25, 2026
Resolve src/main.rs and src/run.rs against the pre-flight checks (#15/#16)
and the Base branch merge and conflict Repair (#17). Keep main's run
structure and carry the progress lines into it: the session log line
moves into run_session, the push line into Worktree::push, and the newly
built steps (merging the Base branch, starting a Repair) print their
lines as issue #10 asks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
JacobStephens2 added a commit that referenced this pull request Sep 25, 2026
Brings in pre-flight checks (#16), the README (#15) and merging the Base
branch with conflict Repair (#17) on top of the Failed run path.

- run.rs: preflight::check replaces the inline origin check; the Repair
  session and final push sit inside implement(), so a failed Repair goes
  down the Failed run path. The session log reported on failure is the
  most recent one (repair-1 if it ran).
- main.rs: parse the Issue URL up front (exit 2) as main does, then
  install the interrupt handler and report a FailedRun.
- github.rs: main's gh_json/string_field helpers, plus isDraft, is_open,
  mark_ready and convert_to_draft.
- failed_run.rs: reuses Worktree::merge_in_progress.
- tests/mergeable.rs: a failed Repair is now a Failed run, so it prints
  the open PR's URL and sends the PR back to draft.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

README, credit and install docs

1 participant