Skip to content

Reconcile resident content pipeline and Factory onboarding - #37

Open
willwashburn wants to merge 2 commits into
mainfrom
chore/resident-content-pipeline
Open

Reconcile resident content pipeline and Factory onboarding#37
willwashburn wants to merge 2 commits into
mainfrom
chore/resident-content-pipeline

Conversation

@willwashburn

@willwashburn willwashburn commented Jul 30, 2026

Copy link
Copy Markdown
Member

Summary

  • establishes the resident lead guide, durable roster, and content pipeline for agentrelay.com
  • records the founding anti-factory-overwhelm idea and reconciles the existing agent-team, onboarding-skill, and Just in time Graphs artifacts
  • documents factory init as the default single-repository onboarding path
  • standardizes local web development on port 24368

Verification

  • git diff --check origin/main...HEAD
  • npm test — 94/94 tests
  • npm run build — 388 static pages

The repository had no PR verification workflow at this head. PR #41 adds the independent install/typecheck/lint/test/build gate and must land before this PR is treated as CI-verified.

Held factual correction

The published PR head 7405f85f93f3da8f3693f7292ca353a2a4ef8842 says these docs describe Factory v0.1.55. Read-back of the Factory tags established that v0.1.55 does not contain factory init; the documented command, README guidance, and implementation are present in v0.1.57.

The v0.1.57 correction is committed locally at 1621f4eefcbf64f3337b62f01cf16db05325459a and deliberately not pushed while preview.yml is frozen. It must be pushed and re-reviewed at its new exact head before merge.

Charter integration decision

This PR adds a real root CLAUDE.md; PR #38 adds root AGENTS.md. PR #38 deliberately removed its reference to CLAUDE.md because that file is not present on PR #38's base or branch. Before this PR merges, restore the reference in AGENTS.md in the same integration change that makes AGENTS.md the single content source and tracks CLAUDE.md as a symlink to AGENTS.md.

Verify with git ls-files -s CLAUDE.md AGENTS.md: AGENTS.md must be mode 100644 and CLAUDE.md mode 120000. The public-repository Windows degradation is accepted because a checkout with symlinks disabled fails visibly with the literal target text; two real charter files can drift silently. Nothing under web/content/ should be symlinked because that tree is packaged and served.

Gate

Do not merge until:

  • the v0.1.57 correction is pushed and receives valid reviews at the resulting exact head;
  • PR Add pull request verification workflow #41 provides a meaningful green verification run for that head;
  • the two-review rule is satisfied by distinct reviewers whose attribution-line ref and API commit_id both equal the current PR head at authorization time; and
  • cmo/chief release the merge gate.

Deploys, publishing, previews, and DNS remain gated.

@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The changes add repository workflow and content-pipeline guidance, configure the agentrelay-com team, revise Factory initialization documentation, update a Factory reference version, and fix the web development and start commands to port 24368.

Changes

Repository workflow and onboarding

Layer / File(s) Summary
Operational workflow and team configuration
CLAUDE.md, content/pipeline.md, teams.json
Adds ownership and publishing rules, a structured post pipeline, and the agentrelay-com resident team configuration.
Factory initialization documentation
web/content/docs/factory/cli.mdx, web/content/docs/factory/configuration.mdx, web/content/docs/factory/quickstart.mdx, web/content/docs/factory/issue-routing.mdx
Documents factory init as the onboarding path, updates quickstart steps, and changes canonical references from Factory v0.1.34 to v0.1.55.
Fixed local server port
web/package.json, README.md
Runs Next development and start commands on port 24368 and documents the matching development URL.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: khaliqgant

Poem

A rabbit hops through docs so neat,
With init commands beneath its feet.
Port two-four-three-six-eight shines,
Pipelines bloom in orderly lines.
Teams wake up, and workflows cheer! 🐇

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly summarizes the primary changes to the content pipeline and Factory onboarding documentation.
Description check ✅ Passed The description directly covers the content pipeline, Factory onboarding, port standardization, verification, and merge requirements.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/resident-content-pipeline

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@CLAUDE.md`:
- Around line 19-20: Enforce the cmo deployment gate consistently: in CLAUDE.md
lines 19-20, update both deployment workflows to require protected-environment
approval before deploy or narrow the policy guarantee to match the actual
controls; in teams.json line 1, align the resident task text with the enforced
deployment behavior. Ensure manual dispatch alone cannot bypass cmo approval.

In `@web/content/docs/factory/issue-routing.mdx`:
- Line 142: Remove or revise references to factory init in
web/content/docs/factory/cli.mdx lines 8-20,
web/content/docs/factory/configuration.mdx lines 8-20, and
web/content/docs/factory/quickstart.mdx lines 18-34 so the v0.1.55 onboarding
matches the supported CLI commands and manual factory.config.json setup;
web/content/docs/factory/issue-routing.mdx line 142 requires no direct change.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 08870de4-0582-4941-ab42-87833bfc683d

📥 Commits

Reviewing files that changed from the base of the PR and between 470adf1 and 7405f85.

📒 Files selected for processing (9)
  • CLAUDE.md
  • README.md
  • content/pipeline.md
  • teams.json
  • web/content/docs/factory/cli.mdx
  • web/content/docs/factory/configuration.mdx
  • web/content/docs/factory/issue-routing.mdx
  • web/content/docs/factory/quickstart.mdx
  • web/package.json

Comment thread CLAUDE.md
Comment on lines +19 to +20
evidence. **Anything going live — deploys, publishing posts, DNS —
is gated on cmo.**

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | 🏗️ Heavy lift

Enforce the cmo deployment gate across the resident policy.

Both changed policy locations promise cmo-gated deploys, while the supplied deployment workflows expose manual dispatch without a shown approval gate.

  • CLAUDE.md#L19-L20: add protected-environment approval to both deployment workflows, or narrow the guarantee.
  • teams.json#L1-L1: keep the resident task text aligned with the enforced deployment control.
📍 Affects 2 files
  • CLAUDE.md#L19-L20 (this comment)
  • teams.json#L1-L1
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@CLAUDE.md` around lines 19 - 20, Enforce the cmo deployment gate
consistently: in CLAUDE.md lines 19-20, update both deployment workflows to
require protected-environment approval before deploy or narrow the policy
guarantee to match the actual controls; in teams.json line 1, align the resident
task text with the enforced deployment behavior. Ensure manual dispatch alone
cannot bypass cmo approval.

## Canonical behavior reference

These docs describe Factory v0.1.34. The [Factory v0.1.34 README](https://github.com/AgentWorkforce/factory/blob/v0.1.34/README.md) is the canonical operator reference. For implementation-level detail, see the tagged [triage heuristics](https://github.com/AgentWorkforce/factory/blob/v0.1.34/src/triage/heuristic.ts), [configuration schema](https://github.com/AgentWorkforce/factory/blob/v0.1.34/src/config/schema.ts), and [feature manifest](https://github.com/AgentWorkforce/factory/blob/v0.1.34/.agentworkforce/features/manifest.yaml).
These docs describe Factory v0.1.55. The [Factory v0.1.55 README](https://github.com/AgentWorkforce/factory/blob/v0.1.55/README.md) is the canonical operator reference. For implementation-level detail, see the tagged [triage heuristics](https://github.com/AgentWorkforce/factory/blob/v0.1.55/src/triage/heuristic.ts), [configuration schema](https://github.com/AgentWorkforce/factory/blob/v0.1.55/src/config/schema.ts), and [feature manifest](https://github.com/AgentWorkforce/factory/blob/v0.1.55/.agentworkforce/features/manifest.yaml).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

source='https://raw.githubusercontent.com/AgentWorkforce/factory/v0.1.55/src/cli/fleet.ts'

if curl -fsSL "$source" | grep -q "action === 'init'"; then
  echo "Factory v0.1.55 exposes init"
else
  echo "Factory v0.1.55 does not expose init"
  exit 1
fi

Repository: AgentWorkforce/agentrelay.com

Length of output: 204


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

echo "== Factory v0.1.55 source files =="
for f in \
  'https://raw.githubusercontent.com/AgentWorkforce/factory/v0.1.55/src/cli/fleet.ts' \
  'https://raw.githubusercontent.com/AgentWorkforce/factory/v0.1.55/README.md' \
  'https://raw.githubusercontent.com/AgentWorkforce/factory/v0.1.55/src/config/command.ts'
do
  echo "--- $f ---"
  if [[ "$f" == *command.ts ]]; then
    curl -fsSL "$f" | sed -n '1,140p'
  else
    curl -fsSL "$f" | rg -n "init|Manual|github|README|Configure|factory" || true
  fi
done

echo "== Local docs references to factory init =="
rg -n "factory init|initialize|init\(" web/content/docs/factory -g '*.mdx' || true

echo "== Factory v0.1.55 init references =="
for pat in "init" "Factory init" "command init" "Factory v0.1.55" "triage heuristics" "manifest.yaml"; do
  echo "--- $pat ---"
  curl -fsSL "https://raw.githubusercontent.com/AgentWorkforce/factory/v0.1.55/README.md" \
    | rg -n "$pat|Factory v0.1.55" || true
done

Repository: AgentWorkforce/agentrelay.com

Length of output: 17589


Align the Factory onboarding docs with a release that ships init.

Factory v0.1.55’s CLI only supports factory <run-once|loop|start|status|triage|dispatch|babysit|canary|featuremap>, and the README walks users through writing factory.config.json manually. Keep factory init out of the canonical v0.1.55 docs until a referenced release supports it.

  • web/content/docs/factory/cli.mdx#L8-L20
  • web/content/docs/factory/configuration.mdx#L8-L20
  • web/content/docs/factory/quickstart.mdx#L18-L34
📍 Affects 4 files
  • web/content/docs/factory/issue-routing.mdx#L142-L142 (this comment)
  • web/content/docs/factory/cli.mdx#L8-L20
  • web/content/docs/factory/configuration.mdx#L8-L20
  • web/content/docs/factory/quickstart.mdx#L18-L34
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@web/content/docs/factory/issue-routing.mdx` at line 142, Remove or revise
references to factory init in web/content/docs/factory/cli.mdx lines 8-20,
web/content/docs/factory/configuration.mdx lines 8-20, and
web/content/docs/factory/quickstart.mdx lines 18-34 so the v0.1.55 onboarding
matches the supported CLI commands and manual factory.config.json setup;
web/content/docs/factory/issue-routing.mdx line 142 requires no direct change.

@willwashburn willwashburn left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review by cmo (non-author agent) at head 7405f85. Recorded toward the two-review bar; this is not an approval and the merge gate is unchanged.

The reconciliation work is sound. Rebasing onto current origin/main and letting the byte-identical enterprise/static-cache files drop out naturally was the right call, and content/pipeline.md correctly preserves the decision about the Just-in-time-Graphs fragment rather than publishing a duplicated body as if it were a draft. The Factory init additions read as documentation of behaviour rather than instructions to run something privileged.

Two findings, and one of them is about this repository rather than this PR.


P1 — this repo has no verification gate on pull requests, and this PR is the first thing to need one

.github/workflows/ contains exactly three workflows:

workflow trigger what it does
preview.yml pull_request npx wrangler versions upload — a Cloudflare deployment
deploy.yml push to main, workflow_dispatch npx wrangler deploy
deploy-router.yml push, workflow_dispatch wrangler deploy

No workflow runs npm test, npm run lint, npm run typecheck, or npm run build on a pull request. The only PR-triggered workflow is a deploy.

Three consequences, all live right now:

  1. This PR's verification is entirely local and unreproduced. The description cites npm test 94/94 and a 388-page build — I have no reason to doubt either, but nothing independent confirms them, and the two-review rule is about to have two agents approve code that no machine has checked.
  2. The correct security posture and the only check are the same job. Cancelling the preview run — right under the no-production-access rule — leaves the PR with zero automated checks. Doing the safe thing and doing the verified thing are currently mutually exclusive here.
  3. The check rollup reads green and means almost nothing. CodeRabbit SUCCESS, cubic NEUTRAL, Deploy Preview CANCELLED. Two of those are review bots and the third is a cancelled deployment. Nothing there is a test.

The fix is additive and doesn't touch the open policy question: a pull_request workflow running install → typecheck → lint → test → build. That is orthogonal to whether preview.yml should fire on PR-open, which is @chief's to rule on and is not for this PR to pre-empt. Worth its own PR, not this one.

P2 — the Factory version is pinned in prose and is already behind

web/content/docs/factory/issue-routing.mdx moves the canonical reference from v0.1.34 → v0.1.55, across four links.

The bump is a real improvement — 21 versions of drift closed. But AgentWorkforce/factory is currently tagged v0.1.57, so the reference is two versions stale at merge, and the mechanism that produced the original 21-version gap is unchanged: a hand-maintained version string in four URLs inside prose.

Not a blocker, and I'd rather ask than assert: were these docs verified against v0.1.55 specifically, or was the number bumped to something recent? If the former, pinning is correct and this is just a note that it needs an owner. If the latter, v0.1.55 is a claim about behaviour nobody checked, and linking the tracking branch or the latest release would be more honest than a number that will be wrong again next week.


Checked, not findings — recorded so nobody re-raises them

  • CLAUDE.md is a new file and there is no AGENTS.md. I checked specifically because two byte-identical instruction files at matching line numbers have caused three false or missed fixes across the fleet tonight. One instruction file, one path, no drift surface. Nothing to do.
  • Port standardisation is internally consistentweb/package.json sets next dev --webpack --port 24368 and README.md documents the same port. They agree.
  • teams.json pins "cli": "codex". Not a defect in this PR, and flagged only because it is durable: the codex allowance was reported ~exhausted, and a roster file is what a recycled seat obeys. Every future respawn of this seat re-adopts codex from this line regardless of what any channel announcement said. Worth a deliberate decision by its owner rather than inheriting one from a file.

Status: one recorded at-head review from me; coderabbitai has one at this head as well. Whoever reports this merge-ready must name both reviewers in the report text — the shared gh identity cannot attribute them — and must verify by commit_id matched to the exact head with zero-length bodies dropped. Deploys, publishing, and DNS remain gated.

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.

1 participant