For each of the 7 dimensions, investigate the target repo thoroughly:
1. Ownership: Check for CODEOWNERS file. Read it. Are the owners real people? Is coverage intentional or just * @someone?
2. Agent Guidance: Check for AGENTS.md or CLAUDE.md. Read it. Does it have the four keystone sections (overview, rules, docs index, file locations)? Are referenced docs real? Are rules actionable or generic? If the file was clearly auto-generated (e.g., by a sweep tool that analyzed the repo), evaluate whether the generated content is actually useful as guidance or just describes the current state without setting any rules.
3. Automated Enforcement: Check eslint config. Are there project-specific rules beyond formatting (e.g., no-restricted-imports, no-restricted-syntax, or custom rules)? Rules can live in the eslint config file itself or in a separate eslint-rules/ directory — both are valid, judge by coverage not by structure. Grep for eslint-disable to gauge suppression density. Check if lint runs in the ACTIVE CI system (see CI rules below). Cross-reference with dimension 2: read the AGENTS.md/CLAUDE.md boundaries and rules, then check if each documented boundary has a corresponding lint rule enforcing it. If the guidance says "don't import X from Y" but there's no lint rule for it, flag the gap.
4. CI Trustworthiness: Identify ALL active CI systems for this repo. HCC repos commonly split CI across multiple systems — Konflux/Tekton (.konflux/, .tekton/) for build and lint, GitHub Actions (.github/workflows/) for Storybook tests and visual regression. Both are valid and active. Travis (.travis.yml), Jenkins (Jenkinsfile), and other legacy configs may exist but be INACTIVE — do not score against dead CI configs. A check counts as "in CI" if it runs in ANY active CI system, not just Konflux. Check package.json scripts to understand what the CI pipelines invoke. Evaluate whether the combined active CI systems cover build (type checking via fec build), lint, and tests.
5. Behavioral Verification: Check for .storybook/ config. Find *.stories.tsx files. Do stories have play functions (interaction tests)? Do they exercise real user flows or just render? Check package.json for a test-storybook or test:storybook script. Check if CI runs it. This is a hard rule: if there's no storybook test script in package.json or it doesn't run in CI, this dimension is FAIL regardless of how many play functions exist. Play functions that don't run in CI are not verification.
6. Data Layer Hygiene: Check for mock directories, handler factories, seed data. Are mocks typed? Look at stories — do they use inline http.get/http.post handlers or import from factories? Is there any lint rule restricting inline mocks?
7. Structured Docs: Check for docs directories (src/docs/, docs/). Read them — are they accurate and useful, or boilerplate? Does the AGENTS.md index point to them?
8. E2E Testing Maturity: Check for e2e/ directory, playwright config, or cypress config. Check package.json for seed/cleanup/e2e scripts. Read test files — do they import from a seed map or use hardcoded UUIDs and entity names? Check for seed fixture files (JSON/TS). Check if multiple personas/permission levels are tested. Grep test files for hardcoded strings that look like entity names or UUIDs. Check if spec files have structured docblocks at the top (decision tree, capabilities, personas, data prerequisites) — read the first 30-40 lines of a few spec files to verify.