A member whose account has not accepted the terms in force now gets one dialog on the action they attempted instead of a dead-end refusal. The client handler is the single TermsGate, wired into every Http POST helper so the four optimistic controllers cannot swallow the gate into an error flash, and the original request is replayed once the acceptance is recorded. Reading the site and deleting an account stay unblocked. apple.md is the source brief the compliance research documents reference. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
46 lines
3.8 KiB
Markdown
46 lines
3.8 KiB
Markdown
---
|
|
description: Run the DevPlace maintenance agent fleet (12 quality dimensions) in check or fix mode, optionally scoped to changed files or a subset.
|
|
argument-hint: "[check|fix] [changed] [comma,list,of,dimensions]"
|
|
---
|
|
|
|
You are orchestrating the DevPlace maintenance fleet. Each dimension is a project subagent under `.claude/agents/`. The fleet enforces twelve independent quality dimensions across the `devplacepy/` package and `tests/`.
|
|
|
|
## Dimension to subagent map
|
|
| Dimension | Subagent | Enforces |
|
|
|-----------|----------|----------|
|
|
| style | `style-maintainer` | CLAUDE.md (root/nested) coding rules (context-aware names, em-dash, typing, pathlib, headers) |
|
|
| dry | `dry-maintainer` | duplication and reuse of canonical shared utilities |
|
|
| security | `security-maintainer` | auth guards, project visibility, read-only guards, input validation, XSS |
|
|
| audit | `audit-maintainer` | audit-log coverage and event catalogue |
|
|
| devii | `devii-maintainer` | Devii route parity and role-gated tool visibility |
|
|
| seo | `seo-maintainer` | SEO context, JSON-LD, robots, sitemap |
|
|
| frontend | `frontend-maintainer` | ES6, dp- components, CSS tokens, deferred CDN scripts |
|
|
| fanout | `fanout-maintainer` | cross-layer feature completeness |
|
|
| docs | `docs-maintainer` | docs coverage and role-aware show/hide |
|
|
| test | `test-maintainer` | integration-test coverage |
|
|
| background | `background-maintainer` | background-queue deferral, response-critical/inline boundaries |
|
|
| locust | `locust-maintainer` | locustfile.py route coverage and load-test safety |
|
|
|
|
The canonical run order is: **style, dry, security, audit, devii, seo, frontend, fanout, docs, test, background, locust**.
|
|
|
|
## Parse the arguments
|
|
Arguments: `$ARGUMENTS`
|
|
|
|
- **Mode**: `fix` anywhere in the arguments means FIX mode; otherwise default to CHECK mode (read-only report).
|
|
- **changed**: the word `changed` means scope the run to only the files git reports as modified or new under `devplacepy/` and `tests/`. Compute that set first with `git status --porcelain` and keep existing paths whose first segment is `devplacepy/` or `tests/`. If the set is empty, report "nothing to do" and stop. Pass the explicit file list into each subagent's prompt so it reports/fixes only within that set (it may still read other files for cross-reference).
|
|
- **Subset**: any comma-separated dimension names (e.g. `security,docs`) restrict the run to those dimensions in canonical order. With no subset, run all twelve.
|
|
|
|
## Execute
|
|
1. Resolve the dimension list and mode from the arguments above.
|
|
2. **CHECK mode**: launch every selected subagent concurrently (one `Agent` call per dimension in a single message). Each subagent runs read-only and returns its findings report. Tell each subagent explicitly: "Operate in REPORT mode. Do not modify any file." If `changed`, append the file list and: "Restrict findings to these files."
|
|
3. **FIX mode**: launch the selected subagents **one at a time in canonical order** (never in parallel - parallel edits to the same file would conflict). Tell each: "Operate in FIX mode: apply minimal root-cause fixes per your doctrine, then re-validate every file you touched with the per-language checks and confirm `python -c \"from devplacepy.main import app\"` still imports clean." Wait for each to finish before starting the next. If `changed`, append the file list and: "Restrict fixes to these files."
|
|
4. Each subagent's final message is its report; it is not shown to the user directly, so collect them.
|
|
|
|
## Report
|
|
After the fleet finishes, present a single consolidated summary to the user:
|
|
- A table: dimension, error count, warning count, info count, and (fix mode) fixed count.
|
|
- Then the notable findings grouped by dimension, each as `severity file:line - rule - message`.
|
|
- A closing line with totals and, in fix mode, the validator result.
|
|
|
|
Do not run the test suite. Do not perform any git write operation.
|