forked from pingdotgg/t3code
-
Notifications
You must be signed in to change notification settings - Fork 0
docs(lastcode): define contribution workstreams #10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
lastobelus
merged 4 commits into
lastcode/main
from
lastcode/document-contribution-workstreams
Aug 14, 2026
Merged
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
68a50ad
docs(lastcode): define contribution workstreams
lastobelus 24d4410
docs(lastcode): clarify fork documentation namespace
lastobelus 1d99afe
docs(skills): define GitHub review mechanics
lastobelus ee88138
docs(skills): retain outdated unresolved findings
lastobelus File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,72 @@ | ||
| --- | ||
| name: lastcode-pr | ||
| description: Deliver a LastCode-only change through its branch, local CI, Codex review, and guarded merge workflow. Use for Markover integration, LastCode identity or branding, personal conveniences, nightly checkpointing, ad-hoc releases, and any change intentionally not proposed to pingdotgg/t3code. Use upstream-fix instead when a general improvement should also be offered upstream. | ||
| --- | ||
|
|
||
| # LastCode PR | ||
|
|
||
| Ship fork-only work from the canonical downstream base without contaminating the | ||
| clean upstream mirror. | ||
|
|
||
| ## Classify and Branch | ||
|
|
||
| Read `docs/lastcode/fork-conventions.md` and the repository `AGENTS.md` first. | ||
| If the change makes sense to a T3 Code user without LastCode or Markover context | ||
| and should be proposed upstream, switch to `upstream-fix`. | ||
|
|
||
| 1. Ensure the worktree is clean and fetch `origin` with pruning. | ||
| 2. Create `lastcode/markover/<topic>` for Markover integration or | ||
| `lastcode/<topic>` for other fork-only work from the exact | ||
| `origin/lastcode/main`. | ||
| 3. Keep one concern per branch and PR. Put LastCode-only contributor and | ||
| operations documentation under the fork's deliberate `docs/lastcode/` | ||
| namespace. Keep product and upstream-facing documentation in the | ||
| audience-based directories required by `AGENTS.md`. | ||
| 4. Never target `main` or `pingdotgg/t3code` from this workflow. | ||
|
|
||
| ## Implement and Validate | ||
|
|
||
| 1. Implement the smallest complete change, including focused regression tests | ||
| for backend or automation behavior. | ||
| 2. Run the smallest relevant tests, lint, and typecheck required by `AGENTS.md`. | ||
| 3. Rebase onto the latest `origin/lastcode/main` before publishing. | ||
| 4. Push the branch; the pre-push hook must pass `pnpm lastcode:ci:quick` locally. | ||
| 5. Open a PR targeting `lastcode/main` only when the user explicitly asks. | ||
|
|
||
| An open PR targeting `lastcode/main` pauses promotion of a new nightly onto the | ||
| branch. Checkpoint automation still publishes every immutable nightly tag and | ||
| promotes the newest one after the PR queue is empty. | ||
|
|
||
| ## Babysit and Merge | ||
|
|
||
| When the user asks to babysit or merge: | ||
|
|
||
| Read `.agents/skills/_references/external-review-mechanics.md` for the repository's | ||
| current GitHub thread and review-query mechanics. | ||
|
|
||
| 1. Inspect comments and thread-level review state newer than the latest push. | ||
| 2. Verify each bot finding against the source. Fix real defects; reply with a | ||
| concrete reason when a finding is false. Resolve only addressed threads. | ||
| 3. Request `@codex review` after each fix push. Do not merge until Codex gives an | ||
| explicit clean result for the exact current head and no review thread remains | ||
| unresolved. | ||
| 4. Run `pnpm lastcode:ci` from a clean branch. Its full-CI stamp must match the | ||
| exact head and fetched `origin/lastcode/main` base. | ||
| 5. Use `pnpm lastcode:merge`; do not bypass the guarded merge in the GitHub UI. | ||
| 6. Verify the PR is merged and `origin/lastcode/main` contains the merge result. | ||
| 7. If the work is tracked by Markover, confirm the GitHub terminal state and | ||
| run the service-free command from the Markover checkout: | ||
|
|
||
| ```bash | ||
| npm --silent run markover -- done <pr-url> --pr-status merged | ||
| ``` | ||
|
|
||
| Follow the repository's bounded CI polling rule. Stay quiet when no new review | ||
| or check result exists, and stop only when the latest commit is clean or a real | ||
| external blocker requires the user. | ||
|
|
||
| ## Handoff | ||
|
|
||
| Report the PR URL, merged commit or current head, focused and full validation, | ||
| Codex review result, unresolved-thread count, and Markover state when applicable. | ||
| If no PR was requested, report the local branch and commit without publishing it. | ||
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| interface: | ||
| display_name: "LastCode PR" | ||
| short_description: "Ship a fork-only change through LastCode local CI" | ||
| default_prompt: "Use $lastcode-pr to deliver this fork-only change through the LastCode PR workflow." |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,64 @@ | ||
| --- | ||
| name: upstream-fix | ||
| description: Prepare and deliver a general T3 Code fix or improvement that should be proposed to pingdotgg/t3code while LastCode retains an independent copy. Use for upstream-worthy bugs and features, paired upstream and LastCode PRs, refreshing the clean contribution base, or porting an upstream candidate into lastcode/main. Do not use for Markover integration, LastCode branding, personal workflow assumptions, or release automation; use lastcode-pr for those. | ||
| --- | ||
|
|
||
| # Upstream Fix | ||
|
|
||
| Deliver one logical improvement through two independent branches: an | ||
| upstream-pure contribution and a LastCode port. Keep their bases, reviews, CI, | ||
| and merge decisions separate. | ||
|
|
||
| ## Classify the Change | ||
|
|
||
| Use this workflow only when the behavior makes sense to a T3 Code user with no | ||
| LastCode or Markover context. Route fork identity, Markover integration, personal | ||
| conveniences, nightly automation, and local release machinery to `lastcode-pr`. | ||
|
|
||
| Read `docs/lastcode/fork-conventions.md` before changing branches. Follow the | ||
| repository `AGENTS.md` on both branches. | ||
|
|
||
| ## Prepare the Upstream Delivery | ||
|
|
||
| 1. Ensure the worktree is clean. Fetch `upstream` and `origin` with pruning. | ||
| 2. Confirm `upstream` is `pingdotgg/t3code` and `origin` is the writable fork. | ||
| 3. Fast-forward the fork mirror with `git push origin upstream/main:main`. If it | ||
| is not a fast-forward, stop and inspect; never merge or force downstream | ||
| history into `main`. | ||
| 4. Create `fix/<topic>` or `feat/<topic>` from the exact fetched | ||
| `upstream/main`, not from `lastcode/main`. | ||
| 5. Implement one upstream concern. Exclude LastCode branding, Markover details, | ||
| downstream automation, and `docs/lastcode` changes. | ||
| 6. Run the smallest relevant tests and checks required by `AGENTS.md`. | ||
| 7. Fetch and rebase onto the latest `upstream/main` immediately before opening | ||
| the PR. Push to `origin` and target `pingdotgg/t3code:main`. | ||
| 8. Follow upstream CI and review conventions. Verify review findings against the | ||
| source, address real issues, and explain false positives. | ||
|
|
||
| Do not open a PR unless the user explicitly asks. | ||
|
|
||
| ## Prepare the LastCode Delivery | ||
|
|
||
| 1. Fetch `origin` again and create `port/upstream/<topic>` from the exact | ||
| `origin/lastcode/main`. | ||
| 2. Cherry-pick the upstream change when clean; otherwise reimplement the same | ||
| behavior against LastCode without dragging in unrelated upstream history. | ||
| 3. Preserve any LastCode-specific adaptation only on this branch. | ||
| 4. Run focused validation. A push invokes quick local CI. | ||
| 5. When asked to open a PR, target `lastobelus/lastCode:lastcode/main` and link | ||
| the upstream PR in both descriptions. | ||
| 6. Before merge, require a current-head clean Codex review, zero unresolved | ||
| review threads, and full local CI for the exact head and current base. Merge | ||
| through `pnpm lastcode:merge`. | ||
|
|
||
| The LastCode PR does not wait for upstream acceptance. The upstream PR does not | ||
| depend on LastCode. When upstream later lands the change, let the nightly rebase | ||
| reconcile the duplicate patch and record any recurring resolution through the | ||
| existing checkpoint workflow. | ||
|
|
||
| ## Handoff | ||
|
|
||
| Report both branch names and PR URLs, their bases and current heads, validation | ||
| performed for each, review status, and whether either delivery remains local. | ||
| Call out that an open LastCode PR pauses branch promotion while immutable nightly | ||
| checkpoint tags continue. |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| interface: | ||
| display_name: "Upstream Fix" | ||
| short_description: "Ship an upstream change while retaining it in LastCode" | ||
| default_prompt: "Use $upstream-fix to prepare an upstream T3 Code change and its independent LastCode port." |
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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.