Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,15 @@

## Unreleased

### Fixed (PR #308 follow-up)

- The PR workflow hardening follow-ups so `pr-preflight` skips deleted
file-targeted inputs, `pr-threads reply` can target an explicit PR context
instead of assuming the checkout repo, review-thread batch resolution reports
partial progress before failure, GitHub auth-error detection avoids generic
`author`-style false positives, and the workflow docs point at the tracked
`docs/archive/AGENTS.md` path.

### Fixed (PR #306 follow-up)

- The Phase 8 runtime-schema/tooling follow-ups so workspace Prettier usage is
Expand Down
10 changes: 8 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ SHELL := /bin/bash
PORT ?= 5173
BENCH_PORT ?= 8000

.PHONY: hooks verify-ultra-fast verify-fast verify-pr verify-full verify-full-sequential pr-status docs docs-build docs-ci
.PHONY: hooks verify-ultra-fast verify-fast verify-pr verify-full verify-full-sequential pr-status pr-threads pr-preflight docs docs-build docs-ci
hooks:
@git config core.hooksPath .githooks
@chmod +x .githooks/* 2>/dev/null || true
Expand All @@ -29,7 +29,13 @@ verify-full-sequential:
@VERIFY_LANE_MODE=sequential ./scripts/verify-local.sh full

pr-status:
@./scripts/pr-status.sh "$(PR)"
@cargo xtask pr-status "$(PR)"

pr-threads:
@cargo xtask pr-threads $(ARGS)

pr-preflight:
@cargo xtask pr-preflight $(ARGS)
Comment thread
flyingrobots marked this conversation as resolved.

.PHONY: dags dags-fetch
dags:
Expand Down
37 changes: 36 additions & 1 deletion docs/workflows.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ This doc is the “official workflow index” for Echo: how we work, what invari

### Agent Context System (AI Agents)

AI agents use a **2-tier context system** for seamless handoffs. See [`AGENTS.md`](../AGENTS.md) for full details.
AI agents use a **2-tier context system** for seamless handoffs. See
[`docs/archive/AGENTS.md`](./archive/AGENTS.md) for full details.

| Tier | Store | Purpose |
| --------- | ----------------------------------- | ------------------------------------------ |
Expand Down Expand Up @@ -75,8 +76,42 @@ The repo also exposes maintenance commands via `cargo xtask …`:
- `cargo xtask dags --snapshot-label none` omits snapshot labels (best for CI automation).
- `cargo xtask dags --snapshot-label rolling` emits a stable `rolling` label.
- `cargo xtask dags --snapshot-label 2026-01-02` pins a date label (useful for comparisons).
- `cargo xtask pr-status` summarizes the current PR head, exact unresolved review-thread count, grouped check state, and a concise current-blockers section.
- `cargo xtask pr-status 306` targets an explicit PR number instead of the current branch PR.
- `cargo xtask pr-threads list` lists unresolved review threads for the current PR with thread ids, comment ids, path, author, URL, and a short preview.
- `cargo xtask pr-threads list 306` targets an explicit PR number instead of the current branch PR.
- `cargo xtask pr-threads reply 123456789 --body-file /tmp/reply.md` posts a human-authored reply to a review comment id on the current branch PR.
- `cargo xtask pr-threads reply 123456789 --selector 306 --body-file /tmp/reply.md` targets an explicit PR when the review comment belongs to another repo/PR context.
- `cargo xtask pr-threads resolve --all --selector 306 --yes` resolves all unresolved review threads for a PR after you have verified the fix batch.
- `cargo xtask pr-threads resolve --yes THREAD_ID_A THREAD_ID_B` resolves explicit GitHub review thread ids when you already know the targets.
- `cargo xtask pr-preflight` runs the default changed-scope pre-PR gate against `origin/main`.
- `cargo xtask pr-preflight --full` runs the broader explicit full pre-PR gate.
- `cargo xtask dind` runs the DIND (Deterministic Ironclad Nightmare Drills) harness locally.

### Pre-PR Preflight

Before opening a PR, run:

```sh
cargo xtask pr-preflight
```

What it proves:

- the changed surface passes the normal local `verify-local` PR gate
- changed Markdown docs pass `markdownlint`, and docs branches also get dead-ref checking
- runtime schema changes get explicit `pnpm schema:runtime:check`
- feature-sensitive crates get explicit `--no-default-features` checks
- maintained shell scripts get a syntax pass via `bash -n`

What it intentionally does **not** prove:

- full CI parity for every matrix lane
- review-thread state or merge readiness on GitHub
- human/self-review quality

Use `cargo xtask pr-preflight --full` when you want the broader local proof before a high-risk or cross-cutting PR. `make pr-preflight ARGS='--full'` remains available as a thin alias.

---

## Dependency DAG Workflow
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"@playwright/test": "^1.48.0",
"asciichart": "^1.5.25",
"graphql": "16.11.0",
"markdownlint-cli2": "0.22.0",
"prettier": "3.8.1",
"vitepress": "1.6.4"
},
Expand Down
Loading
Loading