ruvnet/RuView · error · Error
Refusing CLI access: README does not identify a RuView check
Error message
Refusing CLI access: README does not identify a RuView checkout
What it means
After the marker files exist, repo-trust reads the first 131072 bytes (128 KiB) of README.md and requires /\b(?:RuView|wifi[- ]densepose)\b/i to match, proving the checkout self-identifies as a RuView project. A README without those tokens anywhere in the prefix fails the trust check.
Source
Thrown at harness/homecore/src/repo-trust.js:79
}
export function assertTrustedHomecoreRepo(repoRoot, { trustedRoot = repoRoot } = {}) {
if (!repoRoot || !trustedRoot) throw new TypeError('repoRoot and trustedRoot are required');
const root = realpathSync(repoRoot);
const trustAnchor = realpathSync(trustedRoot);
if (!isWithin(trustAnchor, root) || root !== trustAnchor) {
throw new Error('Refusing CLI access: repository does not match the configured trusted root');
}
if (!statSync(root).isDirectory()) {
throw new Error('Refusing CLI access: trusted root is not a directory');
}
const missing = REQUIRED_MARKERS.filter((marker) => !existsSync(join(root, marker)));
if (missing.length) {
throw new Error(`Refusing CLI access: Homecore repository markers are missing (${missing.join(', ')})`);
}
const readme = readContainedPrefix(root, join(root, 'README.md'), 131_072);
if (!/\b(?:RuView|wifi[- ]densepose)\b/i.test(readme)) {
throw new Error('Refusing CLI access: README does not identify a RuView checkout');
}
return root;
}
View on GitHub (pinned to 4685618388)
Solutions
- Run against a genuine RuView checkout
- Ensure README.md contains the literal token 'RuView' (or 'wifi-densepose') near the top
- If the README is huge, add the project name to the first heading so it lands inside the 128 KiB prefix
Example fix
# before # README.md # My Custom Fork — sensor tooling (never names the project) # after # README.md # RuView fork — camera-free RF perception
Defensive patterns
Strategy: validation
Validate before calling
import { readFileSync } from 'node:fs';
import { join } from 'node:path';
function identifiesRuView(root) {
try {
const prefix = readFileSync(join(root, 'README.md')).subarray(0, 131_072).toString('utf8');
return /\b(?:RuView|wifi[- ]densepose)\b/i.test(prefix);
} catch {
return false;
}
} Prevention
- Keep the project identity ('RuView') in the first heading of README.md
- Never point the harness at unrelated repositories that merely pass the file-marker check
- Remember only the first 128 KiB of README.md is scanned
When it happens
Trigger: Pointing --repo at a different repository whose README never says RuView or wifi-densepose/wifi densepose, an emptied or rewritten README, or a very long README whose identifying words appear only after the first 128 KiB.
Common situations: Renamed forks, template or generated READMEs replacing the original, pointing at the wrong clone in a multi-repo workspace.
Related errors
- Refusing CLI access: repository marker escapes the trusted r
- Refusing CLI access: README marker is not a regular file
- Refusing CLI access: repository does not match the configure
- Refusing CLI access: trusted root is not a directory
- Refusing CLI access: Homecore repository markers are missing
AI-assisted analysis of ruvnet/RuView@4685618388 (2026-08-16).
Data as JSON: /api/errors/7f0abdda8efb0c6e.
Report an issue: GitHub.