Run the complete policy suite from the README and CI
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
- Domain
- ci-cd, documentation, tooling
Research direction
Start with the README #Policies entrypoint and .policies/index.md, then inspect how independently executable policies and their public Validate entrypoints are defined under dependencies #257 and #258. Run xmd run README.md#Policies from a clean checkout and compare it with CI; done means every active policy is reported, failures or unavailable validators are non-zero, and existing contributor commands remain documented.
Written by the indexing model from the issue text.
Description
Parent Quest: #254
Story
As an effectionx contributor, I want to run the complete policy suite from the README before opening a pull request, so I see the same policy verdicts and evidence that CI will evaluate.
The README is the executable entrypoint:
xmd run README.md#Policies
Current gap
Policies are discoverable through .policies/index.md, but the README does not compose them into a runnable workflow. Local review and CI therefore have no shared entrypoint, and a new policy could be documented without becoming part of the enforced suite.
Contract
Add a Policies XMD entrypoint to the README that discovers every active policy from the authoritative policy index and executes each policy’s public Validate entrypoint.
The workflow:
- uses the same command, policy inventory, validator declarations, tool versions, and repository inputs locally and in CI;
- runs lint-backed policies through their declared
@effectionx/lintrules; - runs AI-backed policies through their declared review procedures;
- reports each policy, validation method, verdict, and supporting evidence;
- exits unsuccessfully when any active policy fails or cannot run;
- never silently skips a policy because a validator, credential, input, or entrypoint is unavailable; and
- does not maintain a second hard-coded policy list in the README or CI configuration.
The README explains prerequisites and shows both the complete-suite command and the individual-policy command used for focused investigation.
Acceptance
- A contributor can start from a clean checkout, follow the README, and run the complete active policy suite.
- CI invokes the same README
#Policiesentrypoint. - The aggregate result identifies every active policy and how it was validated.
- Adding an active policy without a runnable
Validateentrypoint makes the aggregate workflow fail. - A deliberate lint-backed violation produces a non-zero result naming the policy and rule.
- A deliberate AI-backed violation produces a non-zero result naming the policy and required evidence.
- An unavailable validator prerequisite fails with an actionable diagnostic rather than being reported as a pass.
- The historical corpus from #258 passes before the aggregate workflow is accepted.
- Existing contributor commands for build, typecheck, lint, format, and tests remain documented and available.
Evidence
Verification records the output of the README entrypoint locally and in CI, including one lint-backed failure, one AI-backed failure, one unavailable-validator failure, and a clean full-suite pass.
Dependencies
- Depends on #257 for independently executable policies.
- Depends on #258 for historical fail/pass verification.
- Completes the contributor-facing outcome of #254.
Out of scope
- Policies outside the effectionx repository
- Deno lint compatibility
- A separate CI-only policy implementation
- Silently downgrading failed or unavailable validators
- Dominant language
- TypeScript
- Stars
- 12
- Forks
- 4
- Avg merge
- 8h 32m
- Merged PRs (30d)
- 1
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from thefrontside/effectionx
-
Difficulty 1/5 Under an hour Newbie friendliness 65/100
thefrontside/effectionx#181 ·
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 52/100
thefrontside/effectionx#258 ·
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 45/100
thefrontside/effectionx#257 ·
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 38/100
thefrontside/effectionx#256 ·
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 52/100
thefrontside/effectionx#255 ·
All issues in thefrontside/effectionx
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
NaturalIntelligence/fast-xml-parser#890 · 1 comment ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
zsviczian/obsidian-excalidraw-plugin#3000 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
pnpm/get.pnpm.io#68 ·
-
[BUG] Cloudflare KV binding 模式下 kvDriver.list() 沿用 EdgeOne 语义,字段名不匹配导致 key 格式下初始化 500 并耗尽 list 配额Possibly taken @wumingzhinu claimed this today. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
OpenListTeam/OpenList-Worker#125 ·
Maintainers usually reply within 2 days
-
Android (vision-camera-location): HybridLocationManager never quits its HandlerThread on disposeOpen
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
margelo/react-native-vision-camera#4217 ·
Maintainers usually reply within 4 days