---
namespace: aiwg
platforms: [all]
name: research-lint-b62705229fde
description: Run the research corpus lint ruleset to detect structural and referential integrity issues — orphan notes, missing frontmatter, broken references, missing GRADE assessments.
commandHint:
  argumentHint: "[target] [--fix] [--format full|summary|json] [--ci] [--fail-on error|warn|info]"
  allowedTools: Read, Write, Bash, Glob, Grep
  model: sonnet
  category: research-validation
  modelRole: coding
  modelTier: standard
---

# Research Lint

Run the research corpus lint ruleset against the configured corpus to detect structural and referential integrity issues.

## Triggers

- "lint the research corpus"
- "check research integrity"
- "validate research notes"
- "sweep the corpus for issues"
- "research lint"
- `/research-lint`

## Parameters

### `[target]` (optional)
Path to lint. When omitted, resolve the target in this order:

1. `<AIWG_CORPUS_ROOT>/documentation/references/` when `AIWG_CORPUS_ROOT` is set.
2. `<research.corpusRoot>/documentation/references/` when `.aiwg/aiwg.config` configures a corpus root.
3. `documentation/references/` when the canonical warehouse layout exists in the project.
4. `.aiwg/research/` for legacy project-local corpora.

### `--fix` (optional)
Attempt auto-fixes for fixable issues (add missing frontmatter defaults, correct formatting).

### `--format` (optional)
Output format: `full` (default), `summary`, or `json`.

### `--ci` (optional)
CI mode — exit code reflects pass/fail.

### `--fail-on` (optional)
Severity threshold for failure: `error` (default), `warn`, or `info`.

## Execution Flow

### Phase 1: Run Lint

Resolve the default target as described above, then execute the lint runner against the research corpus:

```bash
aiwg lint <resolved-target> --ruleset research --format full
```

This checks all 11 rules in the research ruleset:

| Rule | Severity | What it checks |
|------|----------|---------------|
| `ref-frontmatter` | error | Required frontmatter fields present |
| `ref-id-unique` | error | No duplicate REF-XXX identifiers |
| `ref-id-format` | warn | REF identifiers follow `REF-NNN` naming |
| `citation-resolves` | error | Whole REF IDs point to exact or slugged notes anywhere in the lint target, unless the reference sits beside an explicit absence marker (unallocated, not in corpus, skipped, retired, withdrawn, deliberately absent, never allocated, deduplication) |
| `grade-present` | warn | GRADE quality assessment in frontmatter |
| `provenance-present` | warn | Provenance metadata present |
| `cross-ref-bidirectional` | info | Related refs linked both ways |
| `orphan-detection` | info | Notes with no inbound references |
| `frontmatter-date-format` | warn | Dates follow ISO 8601 |
| `source-file-exists` | error | Referenced source files exist |
| `uncertainty-registered` | warn | A stated unperformed check against a verification target names an obstacle or records a dated outcome. A struck span followed by a dated outcome on the same line — `~~<limitation>~~ **Done YYYY-MM-DD (<what closed it>).** <evidence>` — is a completed retraction at any struck-text length |

### Phase 2: Report Results

Display the results grouped by file with severity indicators:
- Errors: must be fixed for corpus integrity
- Warnings: should be addressed for corpus quality
- Info: suggestions for improvement

### Phase 3: Auto-Fix (if --fix)

When `--fix` is specified, attempt automatic corrections:

1. **Missing frontmatter fields** — Add fields with sensible defaults:
   - `status: pending`
   - `documented_date: <today>`
   - `tags: []`
2. **Date format** — Convert dates to ISO 8601
3. **Missing GRADE** — Add `grade_rating: null` placeholder

Write corrections in place and re-run lint to verify fixes.

## Integration Points

| Component | Relationship |
|-----------|-------------|
| `aiwg lint` | Underlying CLI command this skill wraps |
| `corpus-health` | Lint results feed into health scoring |
| `induct-research` | Post-induction hook can trigger lint on new notes |
| `ralph` loops | Lint pass as completion gate |
| CI/CD | `aiwg lint --ci --ruleset research --fail-on error` |

## Examples

```bash
# Full corpus lint
/research-lint

# Quick summary
/research-lint --format summary

# CI mode (exit code)
/research-lint --ci --fail-on warn

# Lint specific directory
/research-lint .aiwg/research/findings/

# Auto-fix what's fixable
/research-lint --fix

# JSON output for programmatic use
/research-lint --format json
```

## Sidecar-level integrity (use `sidecar-lint`)

This skill runs the note/corpus-wide ruleset. It does **not** inspect citation
**sidecar** internals (Outgoing/Incoming sections, edge tables, doubled-append
duplicate headers, `(see REF doc)` authors, `affiliation-primary`
canonicalization, zero-edge sidecar orphans). For those, use the companion
`sidecar-lint` skill (`aiwg corpus sidecar-lint` / `sidecar-repair`). The two
compose — `research-lint` for note-level referential integrity, `sidecar-lint`
for citation-sidecar structure — neither duplicates the other.

## References

- @$AIWG_ROOT/agentic/code/frameworks/research-complete/lint/ruleset.yaml
- @$AIWG_ROOT/src/lint/cli.ts
- @$AIWG_ROOT/src/lint/runner.ts
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/skills/sidecar-lint/SKILL.md — sidecar-structural lint + repair


---
Source attribution: jmagly
Original project: https://github.com/jmagly/aiwg/blob/bc0cd4d707708593ef15781cb9d38364ea29bdd5/agentic/code/frameworks/research-complete/skills/research-lint/SKILL.md
License: MIT
License information: https://opensource.org/license/mit
Original upstream instructions; downloaded from Mega AI Hub.

## Upstream license notice

MIT License

Copyright (c) 2024 Joe Magly

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.



# Mega AI Hub resource metadata

Creator / publisher: jmagly
Original project: https://github.com/jmagly/aiwg/blob/bc0cd4d707708593ef15781cb9d38364ea29bdd5/agentic/code/frameworks/research-complete/skills/research-lint/SKILL.md
Attribution basis: Source repository record

Fields of work: Data & Analytics, Education & Research, Marketing
Roles: Content Marketer, Data Analyst, Researcher
Specialties: API
Tools: Aiwg
Country applicability: Country not specified
Classification basis: Source catalog labels
Instruction SHA-256: 5f7200ec9647e5e45ab32ec9bb7aa63d95763a66ad2493936db56d3b5805fcff
