Skip to content

[rig-tasks] Daily rig evaluation — 2026-08-25 — 10/10 passed #486

Description

@github-actions

Summary

Task Description Kind Typecheck Key finding
1 (reused) Package scripts trio workflow workflow ✅ pass Three-phase workflow using Promise.all for parallel lister+health checks, clean phase() annotations
2 (reused) TypeScript const enum extractor agent ✅ pass (after fix) Initially imported steering from "rig/addons" — fixed to import from "rig" directly
3 (reused) HTTP access log stats agent ✅ pass (after fix) Initially imported repair from "rig/addons" — fixed to import from "rig" directly
4 (reused) TypeScript spread usage counter agent ✅ pass (after fix) Initially imported steering from "rig/addons" — same fix; regex heuristic approximates spread classification
5 (reused) Git hook file scanner agent ✅ pass (after fix) Initially imported repair from "rig/addons" — fixed; node:fs/promises stat() for executable bit check
6 (reused) Merge strategy selector workflow ✅ pass Two parallel subagents via Promise.all, call.json coordinator, clean enum output
7 (new) INI config file parser agent ✅ pass (after fix) Initially imported repair from "rig/addons" — fixed; section-aware line parser in defineTool handler
8 (new) File crypto hash reporter agent ✅ pass (after fix) Initially imported steering from "rig/addons" — fixed; uses node:crypto createHash sha256
9 (new) Git reflog classifier workflow workflow ✅ pass Two-stage workflow with clean sequential call(); enum coverage for all common git operations
10 (new) Package JSON field auditor agent ✅ pass (after fix) Initially imported repair from "rig/addons" — fixed; defineTool returns completenessScore 0-100

Problems encountered

rig/addons import error (8/10 tasks)

What happened: Generated programs imported repair and steering from "rig/addons":

import { repair } from "rig/addons";

Exact error:

error TS2307: Cannot find module 'rig/addons' or its corresponding type declarations.

Root cause: repair and steering are re-exported from "rig" directly, not from a subpath. The SKILL.md canonical example doesn't include an addon import, so the correct form isn't immediately discoverable. Inspecting existing samples (e.g., 91-commit-format-suggester.md) reveals:

import { agent, p, s, repair, steering } from "rig";

Fix applied: Changed all addon imports to the top-level "rig" import.


Improvement opportunities

Missing or undiscoverable schema helpers (s.*)

No issues encountered with schema helpers this run. s.record, s.enum, s.optional, s.int, s.path all worked as expected.

Missing or undiscoverable prompt helpers (p.*)

No misuse of p.* helpers this run.

Error message quality

The error Cannot find module 'rig/addons' is clear enough — the root cause is documentation, not error quality. The error correctly identifies the import problem.

API ergonomics

Addon import discoverability: The most common failure across 8/10 tasks was importing repair/steering from a nonexistent "rig/addons" subpath. The SKILL.md construction rules table mentions repair() and steering() but does not show the import form. A single line like:

import { agent, p, s, repair, steering } from "rig";

in the canonical example (or in a high-frequency decisions row) would eliminate this class of error.

p.readInput vs p.read(input.field): When the agent accepts input: s.object({ filePath }), the correct way to read the file is p.readInput("filePath"). This was used correctly in task 3 and 7, but may be confused with p.read(input.filePath) which doesn't work (input isn't available at template construction time).

Candidate lint rules

Rule: no-rig-addons-subpath

  • Problem: Models consistently generate import { repair } from "rig/addons" because rig/addons is a plausible-but-wrong subpath.
  • Invalid: import { repair } from "rig/addons"
  • Valid: import { repair } from "rig"
  • Why confusing: The name "addons" suggests a subpackage. No other rig API is a subpath except "rig/globals", which reinforces the belief that subpaths exist.
  • Safe autofix: Yes — replace the import source with "rig" and merge named imports.

Documentation gaps

  1. SKILL.md canonical example should include at least one addon to show the correct import form. Currently the example only imports { agent, p, s }.
  2. High-frequency decisions table row for addons should show: import { repair, steering } from "rig" (not just the call form repair() / steering()).
  3. p.readInput documentation — clarify that p.readInput("field") is the only way to read a caller-supplied path at prompt construction time; p.read(input.field) is not valid.

Tasks run today

  • (reused) Package scripts trio workflow: three sequential subagents reading package.json scripts and checking npm dependency health
  • (reused) TypeScript const enum extractor: p.glob + regex for const enum declarations with steering
  • (reused) HTTP access log stats: input s.object({logFile}), parseLogLine tool, statusClass enum, repair addon
  • (reused) TypeScript spread usage counter: p.glob + regex for object/array spread patterns with steering
  • (reused) Git hook file scanner: ls .git/hooks/, analyzeHookFile tool checking shebang/executability
  • (reused) Merge strategy selector workflow: two parallel subagents for diff analysis and conflict detection
  • (new) INI config file parser: input s.object({configFile}), parseIniSection tool, repair addon
  • (new) File crypto hash reporter: p.bash find + hashFile tool using node:crypto SHA-256, steering addon
  • (new) Git reflog classifier workflow: two sequential subagents fetching and classifying reflog entries
  • (new) Package JSON field auditor: p.read package.json + checkFieldPresence tool, repair addon, completeness score 0-100

Generated by Daily Rig Task Generator · sonnet46 100.7 AIC · ⌖ 10.3 AIC · ⊞ 6.8K ·

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions