Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
8e1ccb6
document fork evaluation conventions
lastobelus Apr 17, 2026
4eef304
Add LastCode nightly sync and local release tooling
lastobelus Jun 8, 2026
5968b1c
Add LastCode plan and PR review skills
lastobelus Jun 8, 2026
c2d9149
feat(lastcode): bootstrap isolated nightly fork workflow (#1)
lastobelus Aug 12, 2026
0b6a90e
fix(release): create checkpoint worktree branch (#2)
lastobelus Aug 12, 2026
8d17f33
fix(release): isolate checkpoint smoke runner (#3)
lastobelus Aug 12, 2026
a03937c
fix(release): provision nightly service worktree (#4)
lastobelus Aug 12, 2026
3a8e093
fix(release): bootstrap checkpoint dependencies locally (#5)
lastobelus Aug 12, 2026
145d442
feat(release): add checkpoint dashboard (#6)
lastobelus Aug 13, 2026
2c0c14b
fix(release): guard shared Git integrity (#7)
lastobelus Aug 13, 2026
58015bb
fix(release): avoid duplicate checkpoint tag CI (#8)
lastobelus Aug 13, 2026
771a4d9
fix(release): retry published checkpoint promotion (#9)
lastobelus Aug 14, 2026
75a8375
docs(lastcode): define contribution workstreams (#10)
lastobelus Aug 14, 2026
6ad952c
feat(lastcode): install local nightly checkpoints (#11)
lastobelus Aug 14, 2026
9428818
feat(lastcode): import settings from T3 Code (#12)
lastobelus Aug 14, 2026
557248d
fix(lastcode): use LastCode project icon (#15)
lastobelus Aug 16, 2026
2b24b01
fix(lastcode): stabilize local nightly updates (#14)
lastobelus Aug 16, 2026
b289041
feat(lastcode): publish installable merge revisions (#16)
lastobelus Aug 16, 2026
6447ab7
fix(lastcode): validate daemon pushes before connecting (#17)
lastobelus Aug 16, 2026
a30df50
fix(build): identify cross-architecture probe by executable (#18)
lastobelus Aug 16, 2026
9d23f0e
fix(lastcode): install local nightlies without Squirrel (#22)
lastobelus Aug 17, 2026
1dd0a66
feat(web): toggle sidebar mode with a keybinding (#23)
lastobelus Aug 17, 2026
a89e695
fix(web): surface drafts in the legacy sidebar (#24)
lastobelus Aug 17, 2026
8dd2244
feat(lastcode): show local nightly build activity (#25)
lastobelus Aug 17, 2026
1309a22
fix(lastcode): bound installer quit requests (#26)
lastobelus Aug 17, 2026
af60b2d
feat(lastcode): add upstream PR import skill (#27)
lastobelus Aug 17, 2026
05dce77
feat(lastcode): resume agents after opted-in Actions (#28)
lastobelus Aug 17, 2026
ce7e405
feat(lastcode): add mobile Action resume controls (#29)
lastobelus Aug 17, 2026
8a0fb19
fix(lastcode): verify installer relaunch (#30)
lastobelus Aug 17, 2026
cd1a223
feat(web): filter archived threads by project (#31)
lastobelus Aug 17, 2026
655474e
feat(lastcode): scale legacy sidebar (#32)
lastobelus Aug 18, 2026
c61e5ba
feat(lastcode): improve Action Resume feedback (#34)
lastobelus Aug 18, 2026
57915c3
fix(lastcode): keep settled Actions settled on restart (#36)
lastobelus Aug 18, 2026
ae4b035
fix(lastcode): keep legacy sidebar icons full size (#35)
lastobelus Aug 18, 2026
7626b4b
feat(lastcode): add personal setup bootstrap (#37)
lastobelus Aug 18, 2026
40abd6d
feat(lastcode): make project icon rounding optional (#40)
lastobelus Aug 19, 2026
3c56ada
fix(lastcode): keep sidebar metadata full size (#42)
lastobelus Aug 19, 2026
d556751
fix(lastcode): group local nightly release notes (#41)
lastobelus Aug 19, 2026
d762ddd
fix(web): align sidebar toggle keybinding label (#43)
lastobelus Aug 19, 2026
4e0e16a
fix(lastcode): align remote sidebar metadata (#44)
lastobelus Aug 19, 2026
67bfa33
fix(web): avoid archive breadcrumb route race (#45)
lastobelus Aug 19, 2026
fb05376
feat(lastcode): build exact Intel artifacts (#46)
lastobelus Aug 19, 2026
cbdce50
fix(lastcode): use portable updater locks (#47)
lastobelus Aug 21, 2026
ba80ea7
feat(lastcode): share local build progress model
lastobelus Aug 21, 2026
8f95513
fix(lastcode): secure build progress assets
lastobelus Aug 21, 2026
4d2ddf4
test(lastcode): keep progress model typecheck-safe
lastobelus Aug 21, 2026
e61cc32
fix(codex): keep finished subagents from pinning Working (#48)
lastobelus Aug 21, 2026
5d41490
feat(lastcode): report local build progress (#49)
lastobelus Aug 22, 2026
f276705
feat(lastcode): publish durable Intel artifacts (#51)
lastobelus Aug 22, 2026
2c6e521
feat(lastcode): stage validated Intel updates (#53)
lastobelus Aug 22, 2026
a2ef19a
feat(lastcode): show local build progress details (#55)
lastobelus Aug 22, 2026
258ae67
fix(server): wait for launchd shutdown safely (#56)
lastobelus Aug 22, 2026
43f05dd
fix(server): lease Darwin server ownership (#57)
lastobelus Aug 22, 2026
b6731d0
feat(lastcode): validate packaged server runtimes (#58)
lastobelus Aug 22, 2026
c37a375
feat(lastcode): add thread annotations (#50)
lastobelus Aug 22, 2026
54c1142
fix(lastcode): align annotation migration number
lastobelus Aug 22, 2026
936ca50
fix(lastcode): restore main test expectations (#62)
lastobelus Aug 22, 2026
d61a8ce
feat(lastcode): add durable remote update drain state (#60)
lastobelus Aug 22, 2026
c9b34ea
feat(server): gate work during update drain (#64)
lastobelus Aug 22, 2026
76ff8a1
feat(lastcode): add one-owner activation helper (#65)
lastobelus Aug 22, 2026
e1386d5
fix(lastcode): deduplicate reconciled contract import
lastobelus Aug 23, 2026
4d7095b
fix(lastcode): explain checkpoint rebase conflicts (#67)
lastobelus Aug 23, 2026
55323c3
fix(lastcode): wait for active checkpoint recovery (#70)
lastobelus Aug 23, 2026
2e280c9
fix(web): keep annotation actions attached to dialog
lastobelus Aug 23, 2026
f253063
Revert "fix(web): keep annotation actions attached to dialog"
lastobelus Aug 23, 2026
9e15df9
feat(lastcode): support Action Resume with Claude (#71)
lastobelus Aug 23, 2026
d56f27e
fix(web): keep annotation actions attached to dialog (#73)
lastobelus Aug 23, 2026
fa6d629
fix(codex): retain residual subagent liveness safeguards (#69)
lastobelus Aug 24, 2026
5d86914
fix(web): make legacy thread hovers consistent (#75)
lastobelus Aug 24, 2026
664da9e
test(web): align update pill coverage after nightly sync (#77)
lastobelus Aug 24, 2026
2baabd6
feat(lastcode): add Codex thread tools (#52)
lastobelus Aug 24, 2026
dd3063c
feat(lastcode): cap Intel staging at remote version (#80)
lastobelus Aug 24, 2026
84f20f5
feat(lastcode): update htulo once a day (#81)
lastobelus Aug 24, 2026
3483f8d
fix(server): remove large worktrees reliably (#74)
lastobelus Aug 24, 2026
cf976ee
feat(lastcode): make worktree cleanup durable (#76)
lastobelus Aug 24, 2026
af2a657
fix(lastcode): describe nested vendor gitlink (#83)
lastobelus Aug 24, 2026
2a6fed3
fix(lastcode): use release immutability in Intel workflow (#84)
lastobelus Aug 24, 2026
321f8a1
fix(web): keep remote icon visible on hover (#82)
lastobelus Aug 24, 2026
dfac254
fix(web): dialogs no longer block clicks after closing (#86)
lastobelus Aug 24, 2026
92d0908
fix(lastcode): clone historical Intel targets without credentials
lastobelus Aug 24, 2026
ba99313
fix(lastcode): restore hosted checkpoint tags
lastobelus Aug 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
192 changes: 192 additions & 0 deletions .agents/skills/_references/external-review-mechanics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@
# External Review Mechanics

Use this reference when a project skill invokes read-only external reviewers. The owning
skill defines review order, budgets, quiet/reopen rules, and what to do with findings.

## Reviewer Availability

- Prefer real external reviewers. Do not simulate reviewer output.
- Available local reviewer commands may include `codex` and `opencode`.
- If `ai-limit-checker` is available, run it before expensive review rounds and avoid
providers whose quota is clearly exhausted.
- If no eligible reviewer can run after checking binary presence, auth/session state,
cwd, flags, and prompt piping, stop and report the blocker.

## Protected Context

- Scan prompts, plans, PR bodies, diffs, and context lists for protected files:
`.env*`, auth stores, key files, local tool-state artifacts, private tokens, and
credentials.
- Do not point reviewers at raw protected files, including checked-in env fixtures.
- Provide sanitized excerpts when a contract matters, and prefer tests/docs that encode
the same behavior without secrets.

## Prompt Shape

Build the reviewer prompt in memory. Include:

- workflow name and review lens
- current branch/PR/plan identifiers
- base and head refs when reviewing a PR or implementation diff
- focused context file list
- diff stat and name-status when reviewing code
- validation summary, if available
- explicit read-only instruction
- finding cap for the current round

Ask for exactly one JSON object, with no markdown fences:

```json
{
"summary": "short summary",
"overall_status": "clean | has-findings",
"findings": [
{
"severity": "high | medium | low",
"title": "short title",
"details": "specific actionable explanation",
"references": ["path:line or doc reference"],
"evidence_basis": [
"plan_file | context_files | repo_diff | validation_summary | docs_research"
]
}
],
"residual_risks": ["risk that remains after review"],
"repo_validation_ran": false,
"forbidden_commands": []
}
```

Reviewers may inspect files and diffs. They must not run repo validation, lint, typecheck,
build, test, package, install, migration, server, browser, or release commands.

## Command Patterns

Codex read-only review:

```sh
printf '%s\n' "$PROMPT" | codex --search --disable fast_mode -a never exec -m gpt-5 -c 'model_reasoning_effort="medium"' -s read-only -C "$PWD" -
```

Use `model_reasoning_effort="high"` for heavy mode, correctness-heavy reviews, round 3+,
or high-risk implementation concerns.

Opencode review, when configured:

```sh
opencode run -m zai-coding-plan/glm-5.1 "$PROMPT"
```

## Session Handling

- Record the review command, reviewer, model, review lens, and start time.
- After starting a long review, do not treat elapsed time alone as failure. Reviews can
reasonably take several minutes.
- Investigate only when the command exits, streams an explicit error, appears to wait
for auth/approval, or produces no progress after a long wait.
- If output is malformed, first try to extract one unambiguous schema-valid JSON object.
Retry once only when extraction is impossible or ambiguous.
- If a reviewer ran forbidden commands, ignore command-derived evidence, salvage
file/diff/doc-based findings, and tighten the next prompt.

## GitHub Review State

Use GitHub's current head SHA as the review boundary. Do not infer a clean review
from elapsed time, an empty `reviewDecision`, a checkmark, or a review attached to
an older commit.

Start with one PR snapshot:

```sh
gh pr view "$PR_NUMBER" --repo "$OWNER/$REPO" \
--json url,state,isDraft,headRefOid,baseRefOid,mergeStateStatus,reviewDecision,statusCheckRollup
```

Read every formal review and issue comment, not only GitHub's default page:

```sh
gh api --paginate --slurp \
"repos/$OWNER/$REPO/pulls/$PR_NUMBER/reviews?per_page=100"
gh api --paginate --slurp \
"repos/$OWNER/$REPO/issues/$PR_NUMBER/comments?per_page=100"
```

For a Codex trigger comment, inspect its reactions when the review result is not
explicit in a current-head review body. A current Codex eye reaction means review
is still running; a thumbs-up can be the terminal clean signal:

```sh
gh api --paginate --slurp \
-H 'Accept: application/vnd.github+json' \
"repos/$OWNER/$REPO/issues/comments/$COMMENT_ID/reactions?per_page=100"
```

Accept Codex as clean only when its result was produced after the latest relevant
push, identifies the exact `headRefOid` (for a formal review, its `commit_id`
matches), and gives an explicit no-issues result or terminal clean reaction. A
generic review wrapper, silence, or absence of inline findings is insufficient by
itself. After a push, request `@codex review` once unless a current request is
already active.

Read all review threads with GraphQL pagination. `gh api --paginate` supplies the
next `$endCursor`; keep `pageInfo` in the query so it cannot silently truncate at
100 threads:

```sh
gh api graphql --paginate --slurp \
-F owner="$OWNER" -F repo="$REPO" -F number="$PR_NUMBER" \
-f query='query($owner:String!, $repo:String!, $number:Int!, $endCursor:String) {
repository(owner:$owner, name:$repo) {
pullRequest(number:$number) {
headRefOid
reviewThreads(first:100, after:$endCursor) {
nodes {
id
isResolved
isOutdated
comments(first:100) {
nodes { id body path line createdAt author { login } }
pageInfo { hasNextPage endCursor }
}
}
pageInfo { hasNextPage endCursor }
}
}
}
}'
```

If a thread's nested `comments.pageInfo.hasNextPage` is true, query that thread's
comments separately with `node(id:$threadId)` and the same paginated connection
pattern before deciding what the thread says.

Reply with concrete evidence before resolving an addressed or disproved finding:

```sh
gh api graphql \
-F threadId="$THREAD_ID" -F body="$REPLY" \
-f query='mutation($threadId:ID!, $body:String!) {
addPullRequestReviewThreadReply(input:{
pullRequestReviewThreadId:$threadId,
body:$body
}) { comment { id } }
}'

gh api graphql \
-F threadId="$THREAD_ID" \
-f query='mutation($threadId:ID!) {
resolveReviewThread(input:{threadId:$threadId}) {
thread { id isResolved }
}
}'
```

Before merge, take a fresh snapshot and require all of these on the same head:

- terminal-clean Codex result;
- zero unresolved review threads, including outdated threads;
- required checks and local validation are green;
- mergeability is clean and the expected base SHA has not moved.

After any fix push or rebase, discard the prior review conclusion and repeat the
current-head gate.
84 changes: 84 additions & 0 deletions .agents/skills/implement-plan/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
name: implement-plan
description: |
Implement a reviewed LastCode/T3 Code plan file end to end: code the plan, keep the
plan/docs aligned, validate with repo checks, run bounded implementation reviews,
perform cleanup, and hand off concrete results. Supports `light implement-plan`,
`heavy implement-plan`, and explicit round counts. Use when the user says
"implement plan", "implement-plan", "ship the plan at PLAN_FILE", or "build the plan".
The primary input is the plan file path.
---

# Implement Plan Skill

Implement a reviewed plan in this repository.

## Operating Rules

- Complete the workflow in one run: inspect plan -> implement -> validate -> review ->
cleanup -> handoff.
- Stop only for real blockers: ambiguous branch/worktree, unsafe rebase/conflicts,
scope expansion that needs a new plan, unavailable reviewers after diagnosis,
validation failure you cannot fix, or a user/product decision.
- Never require a magic phrase. Any affirmative response means continue.
- Dirty unrelated files are reportable, not blocking, unless they directly block edits
or validation.
- Maintain a one-paragraph running state summary at phase boundaries.

## Start Conditions

1. Read the plan and `AGENTS.md`.
2. Confirm branch intent:
- upstream contribution work should branch from `main` / `upstream/main`
- LastCode-private work should branch from `lastcode/main`
3. Fetch relevant remotes before rebasing.
4. Rebase only when the target branch is unambiguous and the worktree is clean enough.
5. Treat the plan as source of truth. Use
`references/source-of-truth-guard.md` when older artifacts may be discoverable.

## Implementation Rules

- Follow existing repo patterns before introducing abstractions.
- Keep `packages/contracts` schema-only.
- Avoid compatibility layers unless the plan or user explicitly requires them.
- Use Effect service/process/path/schema APIs where the repo’s diagnostics require
them; do not bypass Effect diagnostics in new scripts unless the boundary truly
needs a local suppression.
- For frontend work, follow the project’s dense app UI style and verify with browser
inspection when the change is visual or interactive.
- Update docs, plan notes, and validation sections as implementation reality changes.

## Validation

Required before completion:

```bash
vp check
vp run typecheck
```

Also run:

- targeted `vp test ...` or package tests for touched areas
- `vp run test` when the package script is specifically needed
- `vp run lint:mobile` for native mobile changes
- local build/smoke commands named by the plan

Do not move past a failed validation step unless you fix it and rerun, or stop and
report the blocker.

## Review And Cleanup

Use `references/review-orchestration.md` for implementation review rounds. Run at least
one review round unless the user explicitly asks for implementation only.

After review rounds:

- do a cleanup pass for duplication, boundaries, stale comments, docs, and tests
- update the plan’s validation/results sections
- commit/push when the user’s workflow calls for it

## Final Handoff

Use `references/handoff-and-manual-qa.md`. Include changed files, validation results,
review depth/rounds, commits pushed, remaining risks, and manual QA steps.
4 changes: 4 additions & 0 deletions .agents/skills/implement-plan/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
interface:
display_name: "Implement Plan"
short_description: "Implement reviewed LastCode plans"
default_prompt: "Use $implement-plan to implement the plan at PLAN_FILE."
40 changes: 40 additions & 0 deletions .agents/skills/implement-plan/references/handoff-and-manual-qa.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Handoff And Manual QA

## Manual QA Applicability

Manual app QA applies when work changes:

- visible UI, copy, layout, themes, accessibility, responsive behavior
- Electron desktop update/install behavior
- mobile UI or gestures
- browser-visible routing or interaction
- workflows where acceptance depends on human judgement

Manual app QA usually does not apply for docs-only, backend-only, test-only,
script-only, CI-only, dependency-only, or skill-only changes.

When UI/manual QA applies:

1. Start the appropriate dev server or packaged app.
2. Use the Browser Use plugin/in-app browser for local web targets when useful.
3. For Electron/mobile flows, document exact local steps and any artifacts to inspect.
4. Capture what passed, what failed, and what remains unverified.

Canonical skip text:

`Manual app QA not run: no manual UI QA surface`

## Final Handoff

Include:

- summary of implementation
- code cleanup/consolidation performed
- validation commands and results
- review rounds/lenses and disposition totals
- commits pushed, when applicable
- remaining risks or deferred decisions
- manual QA steps and expected behavior, or the skip reason above
- direct links to plans, docs, and local artifacts

If a required review or validation step could not be completed for real, say so plainly.
47 changes: 47 additions & 0 deletions .agents/skills/implement-plan/references/review-orchestration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Implementation Review Orchestration

Use real reviews only. Do not simulate reviewer output.

## Review Depth

- `light implement-plan`: one round.
- `heavy implement-plan`: up to three rounds, high reasoning for later external reviews.
- explicit `N rounds`: at most N rounds.
- default: up to three rounds, stopping earlier when all lenses are quiet.

## Lenses

Run in order:

1. `correctness`: behavior, contracts, regressions, missing tests, acceptance criteria.
2. `ui-component`: only for UI/component/style/interaction/copy changes.
3. `KISS`: simplicity, duplication, unnecessary compatibility, needless surface area.
4. `UX`: user-facing flows, states, responsiveness, accessibility, manual QA gaps.
5. `best-practices`: main-session review using repo knowledge and `ctx7` for relevant
current library/framework/API docs.

Use `.agents/skills/_references/external-review-mechanics.md` for reviewer invocation.

## Context For Reviewers

Include:

- plan file
- touched files
- focused diffs from `git diff --stat` and `git diff --name-status`
- validation summary
- relevant docs/contracts/tests
- protected-context summaries, not raw secrets

External reviewers are read-only and must not run repo validation commands.

## Acting On Findings

- Apply findings that improve the implementation within plan scope.
- Defend findings that are wrong, duplicate, already covered, or intentionally out of
scope by clarifying code, tests, docs, or plan notes.
- Defer only when blocked by tooling, quota, validation, protected context, or a human
decision.
- Rerun focused validation after material fixes.
- Mark a lens quiet when clean or only insignificant findings remain.
- Reopen quiet lenses when later changes materially affect their concern area.
25 changes: 25 additions & 0 deletions .agents/skills/implement-plan/references/source-of-truth-guard.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Source-of-Truth Guard

Use this when implementing a reviewed plan with older exploratory docs, ELI5 docs,
options notes, or prior plans nearby.

## Rules

1. Treat the plan as authoritative for scope, decisions, invariants, validation, and
manual QA expectations.
2. Read docs/checklists explicitly named by the plan or required by `AGENTS.md`.
3. Do not treat older unlisted artifacts as requirements.
4. If a linked artifact conflicts with the plan, update it or mark it superseded before
implementation review.
5. Exclude unlisted historical docs from reviewer context unless the plan depends on
them.

## Reviewer Guard

```text
The reviewed plan is authoritative. Use only the plan, touched files, validation
summary, and focused context file list as specification sources. Documents outside the
context file list are not requirements. If you find a mismatch with an unlisted
exploratory or historical document, report it only if the current plan links to or
depends on that document.
```
Loading