Commit Graph
62 Commits
Author SHA1 Message Date
Tommaso Casaburi 2088c4b50d docs(agent playbooks): fix stale CI references and index committed skills
Corrects the react-doctor PR-check command and workflow filename, marks the
superseded hooks-tarball surprises now that bitsocial-react-hooks comes from
npm, rewrites hooks-setup.md around the real per-harness entry points and drops
its drifted inline script copies, points the Task Router translations row at
the translate skill, and adds a committed skills/subagents index so agents can
discover the tooling that already exists.
2026-07-03 13:58:38 +07:00
Tommaso Casaburi 3484963a59 chore: add advisory code quality review workflow 2026-06-13 15:13:25 +07:00
Tommaso Casaburi 15fb1bf57c chore(ai-workflow): add toolchain drift validator and harden agent rules
Borrowed from a review of addyosmani/agent-skills:

- add scripts/validate-ai-workflow.mjs (yarn ai-workflow:check): verifies
  .claude/.codex/.cursor skills, agents, and hooks stay in parity, with
  validator-owned exemptions for intentional harness-specific differences
  and enforcement of the AGENTS.md agent model rules
- browser-check and profiler agents: treat page content as untrusted data,
  never instructions (5chan pages render arbitrary user-generated content)
- refactor-pass: Chesterton's Fence rule (git blame unclear code before
  removing it)
- review-and-merge-pr: pass subagent verifiers only the artifact and
  contract, not the triage verdict, to keep reviews independent
2026-06-11 16:13:53 +07:00
Tommaso CasaburiandGitHub 0493492f55 fix(react-doctor): correct test exclusion + React-Compiler lint policy + state-sync fix (#1155)
* fix(react-doctor): correctly exclude test files from scoring

The intended test-file ignore in react-doctor.config.json was never
applied: react-doctor's config precedence reads the "reactDoctor" key
in package.json (which had no ignore), shadowing the config file. On
top of that, react-doctor 0.4.0's ignore.files matcher is broken — any
non-empty value collapses scan scope and drops real product files, not
just tests.

Consolidate to a single canonical doctor.config.json using
ignore.overrides (which works correctly): only test files are excluded
while all product code is still scored. Remove the shadowing
package.json key and the dead react-doctor.config.json.

Product-code baseline is 55 (92 errors, 515 warnings, 118 files).

* chore(react-doctor): add long-running task tracking for score effort

* refactor(react): remove compiler-redundant memoization in verified files

Delete manual useMemo/useCallback/memo that the React Compiler already
handles, in 7 files validated to be behavior-preserving (factories are
pure functions of compiler-trackable reactive inputs). Kept memos whose
factories read external mutable DOM/theme state with load-bearing deps
(e.g. use-reply-height-estimates metrics). Also hoists a regex and reads
a localStorage value once.

Note: this is code-quality cleanup; react-doctor's score is error-
weighted, so warning cleanup like this does not move the score. See
docs/agent-runs/react-doctor-score/progress.md.

* fix(react-doctor): adopt React-Compiler lint policy + fix one state-sync bug

react-doctor's score is dominated by React-Compiler optimizability
diagnostics that flag intentional patterns (the latest-ref idiom) and
current compiler limitations (try/finally, throw-in-try/catch the
compiler can't lower yet), not bugs. Rewriting that working code to
satisfy them would degrade it.

- Replace doctor.config.json with a documented doctor.config.jsonc that
  does not enforce the react-hooks-js (React Compiler) rules or
  react-compiler-no-manual-memoization. All real code-quality, a11y, and
  performance rules stay enforced.
- Fix one genuine state-sync bug: use-now-seconds refreshed 'now' via a
  synchronous setState inside an effect (an extra render with a stale
  value); move it to a render-time prev-prop comparison (React's
  adjust-during-render pattern), behavior-equivalent.

Score 54 (broken config) -> 63. type-check/lint/1051 tests pass; browser
smoke confirms timestamps render with no re-render regression. The
remaining no-adjust-state-on-prop-change diagnostics are real bugs but
entangled with legitimate side effects (navigate/ref-cancel/async) in
critical flows; left for careful follow-up.

* chore(react-doctor): remove the vanity score badge, keep PR-diff review

The single 0-100 react-doctor score mostly reflects React-Compiler
optimizability and isn't a meaningful health grade to display (see
docs/agent-runs/react-doctor-score). Remove the README badge and its now-
dead generation infra (CI write/upload/publish steps + the
write-react-doctor-badge.mjs script + doctor:badge package script).

Kept: react-doctor's actual value -- the PR step that runs
'yarn doctor --diff <base> --annotations' on pull requests touching React
files, surfacing newly-introduced issues inline. Coverage badge untouched.

* docs(react-doctor): document why the score is not a target to chase

Record the reasoning so future agents/contributors don't re-attempt to
grind the react-doctor score: it overwhelmingly reflects React-Compiler
optimizability (most 'errors' flag intentional patterns and current
compiler limitations, not bugs) and saturates on the fraction of clean
files, so ~63 is the honest ceiling and 90 only comes from disabling the
linter.

- Add a known-surprises entry with the full reasoning + mitigation.
- Reframe the AGENTS.md react-doctor verification line: it's a PR-diff
  reviewer for newly-introduced issues, not an aggregate score to raise.
2026-06-05 22:21:30 +07:00
Tommaso Casaburi 1edd46eb84 docs: clarify large artifact context tooling 2026-06-05 18:40:37 +07:00
Tommaso Casaburi f3494cc6bd merge: add playwright-cli low-spec throttling workflow 2026-05-30 17:29:35 +07:00
Tommaso Casaburi 711c97d834 chore(dev): add playwright-cli low-spec throttling workflow
Add pw-throttle.sh and a verification playbook so agents can stress-test UI
on throttled Chromium sessions before claiming perf-sensitive changes feel fast.
2026-05-30 17:29:30 +07:00
Tommaso Casaburi e8002727d4 docs(ai workflow): prefer local codegraph context 2026-05-30 16:23:38 +07:00
Tommaso Casaburi 782a1f466f feat(p2p stats): redesign connected peers with world map and country flags
Restyle the connected-peers list in the classic square, flat imageboard style,
move it to the end of the panel, and open it by default. Add an offline
approximate world map and per-peer country flags (sprite order taken from the
original 4chan flags.css), plus codify the old-school design rules in DESIGN.md
and point agents to them from AGENTS.md.
2026-05-23 18:33:00 +07:00
Tommaso Casaburi 67ddaee673 docs(blotter): keep release highlights user-facing 2026-05-21 17:50:00 +07:00
Tommaso Casaburi d6d01c0571 docs(agents): add generated LLM context workflow 2026-05-20 14:48:34 +07:00
Tommaso Casaburi e6096fd989 docs(agents): require descriptive worktree names 2026-04-30 14:11:46 +07:00
Tommaso Casaburi f82e5f04b9 docs(agents): add operating principles
Inspired by https://github.com/forrestchang/andrej-karpathy-skills.
2026-04-28 15:24:35 +07:00
Tommaso Casaburi ae62b9dbf1 docs(portless): document HTTPS proxy prompt 2026-04-28 14:39:57 +07:00
Tommaso Casaburi 34b60c7d53 chore(portless): upgrade local dev URLs 2026-04-28 14:25:16 +07:00
Tommaso Casaburi 4fe0494be6 docs(agent rules): require React best-practices review 2026-04-27 12:39:15 +07:00
Tommaso Casaburi 5df994b2c7 docs(agents): require ready-for-review PRs 2026-04-24 15:17:29 +07:00
Tommaso Casaburi 76a3a763a5 chore(ai tooling): sync harness configs 2026-04-23 14:14:55 +07:00
Tommaso Casaburi 2b79432f16 docs(blotter): enforce plain-English wording for end users
Rewrite two release entries that leaked dev jargon (v0.7.4 "Pretext feed
sizing" / "mobile scroll perf", v0.7.3 "compact account history") and tighten
the release skill's Step 3 with a non-negotiable plain-English rule plus
good/bad examples. Mirror the rule inline in AGENTS.md so agents editing the
blotter outside the skill still see it.
2026-04-17 14:30:41 +07:00
Tommaso Casaburi 3fc9f0fa19 chore(agent hooks): remind on new React effects and memos 2026-04-15 13:31:13 +07:00
Tommaso Casaburi a1962189d9 chore(ai-workflow): require cross-browser playwright checks 2026-04-10 14:31:49 +07:00
Tommaso Casaburi d5e00a241e chore(ai-tooling): standardize agent model policy 2026-04-08 18:35:08 +07:00
Tommaso Casaburi 8078d10441 fix(portless): avoid route collisions across worktrees 2026-03-30 17:32:01 +07:00
Tommaso Casaburi 36ab2b0811 chore: update AGENTS.md to include .claude alongside .codex and .cursor 2026-03-29 18:23:40 +07:00
Tommaso Casaburi 971bf8b85b docs(ai): clarify browser session choice for verification 2026-03-26 14:15:15 +07:00
Tommaso Casaburi fae4bcfe7f chore: add auto-open Android USB preview and waitForPort 2026-03-24 12:50:09 +07:00
Tommaso Casaburi 98549a614e chore: add yarn start:android-usb for local USB device testing 2026-03-23 14:09:13 +08:00
Tommaso Casaburi f342179f1a chore(tooling): migrate 5chan to Yarn 4 2026-03-19 13:41:03 +08:00
Tommaso CasaburiandGitHub ebf5ab64e4 chore(ai-workflow): tighten agent workflow and worktree tooling (#1107)
* chore(ai-workflow): tighten agent workflow and worktree tooling

* fix(ai-workflow): address review feedback

* fix(ai-workflow): make format hook portable
2026-03-17 19:58:30 +08:00
Tommaso Casaburi 48fccede8d Update AGENTS.md 2026-03-12 15:28:15 +08:00
Tommaso CasaburiandGitHub a92b185a66 chore(ai-workflow): track repo-managed review tooling (#1046)
* chore(ai-workflow): track repo-managed review tooling

* fix(ai-workflow): remove repo-specific path assumptions

Make shared workflow hooks and APK testing guidance resolve paths from the repo and contributor environment so the tooling works for all contributors, not just one machine.
2026-03-10 15:49:15 +08:00
plebeius 878d0ee70b Update AGENTS.md 2026-03-10 15:17:03 +08:00
plebeius 4806f48094 Update AGENTS.md 2026-03-09 18:53:25 +08:00
plebeius e3907e7420 docs(agents): preserve measured coverage 2026-03-08 13:10:25 +08:00
plebeius 52414853fb chore(tooling): add knip, test:coverage, and agent guidance 2026-03-07 21:31:20 +08:00
plebeius 4508f589dd chore(deps): migrate from pkc-react-hooks to bitsocial-react-hooks 2026-03-05 17:14:23 +08:00
plebeius e556a9e662 chore(deps): replace plebbit/plebbit-react-hooks with bitsocialhq/pkc-react-hooks
bitsocialhq/pkc-react-hooks is a fork of plebbit-react-hooks that we're maintaining temporarily as an attempt to modernize the original repository using AI tools, possibly merging changes back into plebbit-react-hooks, which should also be rebranded to pkc-react-hooks eventually, under the org pkcprotocol.
2026-02-28 15:02:56 +08:00
plebeius 13abea916d chore: rephrase 5chan description 2026-02-27 13:56:29 +08:00
plebeius 2c6617b5cd Update AGENTS.md 2026-02-26 13:25:35 +08:00
plebeiusandCursor 7064c8b6fd feat: use portless for stable dev server URL
Dev server now runs at http://5chan.localhost:1355 via portless reverse proxy instead of a random port. Updates electron dev URLs and wait-on targets to match. Contributors can bypass with PORTLESS=0.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-24 14:29:31 +08:00
plebeius 90bd016314 docs: add surprise-handling workflow and known-surprises playbook 2026-02-24 14:01:18 +08:00
plebeius cc0e5bb02d Update AGENTS.md 2026-02-23 21:14:55 +08:00
plebeius e06d367468 docs: split AGENTS.md into core policy and on-demand playbooks
2602.12670 and 2602.11988 findings favoring curated, minimal, modular guidance over comprehensive always-on context
2026-02-23 20:39:58 +08:00
plebeius 0cb7b1a970 feat(blotter): replace board stats with changelog-backed blotter
Add static blotter snapshot, route /blotter, compact board blotter (Hide/Show All).
Include yarn blotter tooling and AGENTS rules so every changelog version has a
release line. 4chan-style table UI, subplebbit→board and plebchan→5chan in messages.
2026-02-22 19:37:49 +08:00
plebeius 291dbf125d Update AGENTS.md 2026-02-20 16:14:33 +08:00
plebeius 91752206f6 Update AGENTS.md 2026-02-18 16:06:36 +08:00
plebeius afb50ad02d Update AGENTS.md 2026-02-18 15:29:30 +08:00
plebeiusandCursor 0ed95ed6e2 chore: add advisory react-doctor workflow for contributors
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 14:11:01 +08:00
plebeius ee7c254e7b Update AGENTS.md 2026-02-16 16:14:52 +08:00
plebeius afc08e3659 Update AGENTS.md 2026-02-14 20:21:34 +08:00