Gap
nself-org/ntv has no build, test, lint, or typecheck CI. The repo has three workflows total:
| Workflow |
What it gates |
| Dependency Audit |
pnpm audit |
| Dependabot Auto-Merge (patch security updates) |
merge automation |
| Dependabot Updates |
dependency PRs |
The only check that runs on a PR is pnpm audit. Nothing compiles the app, runs a test, or lints. A PR that breaks the build merges green.
Why this is worth fixing rather than accepting
ɳTV is not a scratch repo. Measured today:
- app released at v1.2.1, last commit 2026-08-15
- 13 paid plugins carry
"bundle": "ntv" in plugins-pro/registry.json, each with a download_url, checksum, and requires_license
- that makes it the second largest bundle of six (nsentry 14, ntv 13, nclaw 13, nfamily 10, nchat 4, clawde 3)
nself.org/tv is live and sells it: "It unlocks the pro plugins"
- it is inside the ɳSelf+ "all 6 bundles" tier at $3.99/mo
So this is a paid, shipping surface with no correctness gate.
Related but separate
tv.nself.org returns HTTP 000 — the hosted SaaS surface does not exist. Under the Three-Surface Model that subdomain is ntv/web/. That is a product-scope question, not a CI one, and it is easy to conflate the two: the ɳTV SaaS is absent while the TV Bundle is selling. This issue is only about the missing CI on the shipping bundle.
Suggested minimum
Match what the sibling app repos already run, rather than inventing something new:
- Lint + typecheck + test on PR and push to main — nsentry runs
Lint + Typecheck + Test (client + mobile), nfamily runs Lint and test (RN/Expo).
gitleaks — every other app repo has it; ntv does not.
clean-root / forbid-disallowed-files, consistent with the org Clean Root rule.
- Once those exist, make one of them a required status check on
main.
Note on branch protection
main previously required a status check named nself-ci, which no workflow in this repo produces, so every PR would have been permanently unmergeable. That was corrected during a gate sweep on 2026-08-26; main now requires pnpm audit, which is simply the only real check that exists. It should be replaced with a genuine build/test gate once one is added — requiring an audit-only check is a weak gate, not a real one.
Found during a deliberate sweep for gates whose success condition is unreachable or trivially satisfiable.
Gap
nself-org/ntvhas no build, test, lint, or typecheck CI. The repo has three workflows total:pnpm auditThe only check that runs on a PR is
pnpm audit. Nothing compiles the app, runs a test, or lints. A PR that breaks the build merges green.Why this is worth fixing rather than accepting
ɳTV is not a scratch repo. Measured today:
"bundle": "ntv"inplugins-pro/registry.json, each with adownload_url,checksum, andrequires_licensenself.org/tvis live and sells it: "It unlocks the pro plugins"So this is a paid, shipping surface with no correctness gate.
Related but separate
tv.nself.orgreturns HTTP 000 — the hosted SaaS surface does not exist. Under the Three-Surface Model that subdomain isntv/web/. That is a product-scope question, not a CI one, and it is easy to conflate the two: the ɳTV SaaS is absent while the TV Bundle is selling. This issue is only about the missing CI on the shipping bundle.Suggested minimum
Match what the sibling app repos already run, rather than inventing something new:
Lint + Typecheck + Test (client + mobile), nfamily runsLint and test (RN/Expo).gitleaks— every other app repo has it; ntv does not.clean-root/ forbid-disallowed-files, consistent with the org Clean Root rule.main.Note on branch protection
mainpreviously required a status check namednself-ci, which no workflow in this repo produces, so every PR would have been permanently unmergeable. That was corrected during a gate sweep on 2026-08-26;mainnow requirespnpm audit, which is simply the only real check that exists. It should be replaced with a genuine build/test gate once one is added — requiring an audit-only check is a weak gate, not a real one.Found during a deliberate sweep for gates whose success condition is unreachable or trivially satisfiable.