Repository Analysis

kunchenguid/firstmate

Talk to one agent. Ship with a crew.

15.1 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of kunchenguid/firstmate, a Shell project with 3,055 GitHub stars. SynthScan v2.0 examined 157,845 lines of code across 373 source files, recording 1146 pattern matches distributed across 9 syntactic categories. The overall adjusted score of 15.1 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

15.1
Adjusted Score
15.1
Raw Score
100%
Time Factor
2026-08-09
Last Push
3.1K
Stars
Shell
Language
157.8K
Lines of Code
373
Files
1.1K
Pattern Hits
2026-08-09
Scan Date
0.00
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 0MEDIUM 558LOW 588

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 1146 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

AI Slop Vocabulary498 hits · 1644 pts
SeverityFileLineSnippetContext
MEDIUMbin/fm-gate-refuse-lib.sh93# own test harness sets FM_GATE_REFUSE_BYPASS=1 (see the header).COMMENT
MEDIUMbin/fm-afk-start.sh2# Enter away mode and run the sub-supervisor daemon in a harness-trackedCOMMENT
MEDIUMbin/fm-afk-start.sh21# background process differs by harness/backend and is owned elsewhere:COMMENT
MEDIUMbin/fm-tmux-lib.sh18# Ghost text (incident composer-robust): claude renders a predicted-next-promptCOMMENT
MEDIUMbin/fm-tmux-lib.sh29# (fm-peek and every human/LLM-facing path stay plain). This is harness-generic:COMMENT
MEDIUMbin/fm-tmux-lib.sh30# any harness that de-emphasises placeholder/ghost textCOMMENT
MEDIUMbin/fm-tmux-lib.sh41# the Enter-retry budget is spent: a busy pane means the harness accepted andCOMMENT
MEDIUMbin/fm-tmux-lib.sh56# stays harness-scoped so one harness's output cannot make another read busy.COMMENT
MEDIUMbin/fm-tmux-lib.sh69# Delivery-only rendered busy footers per harness. claude/codex: "esc toCOMMENT
MEDIUMbin/fm-tmux-lib.sh74# enough to classify arbitrary harness output safely.COMMENT
MEDIUMbin/fm-tmux-lib.sh76# ordinary output must not classify another harness as busy. Leading whitespace isCOMMENT
MEDIUMbin/fm-tmux-lib.sh93fm_busy_lines_match() { # [harness]CODE
MEDIUMbin/fm-tmux-lib.sh108 # A supplied harness must never borrow another harness's signature.COMMENT
MEDIUMbin/fm-tmux-lib.sh375fm_pane_is_busy() { # <target> [harness]CODE
MEDIUMbin/fm-tmux-lib.sh387# Busy-queued Enter (opencode 1.18.4): the harness accepts Enter while mid-turnCOMMENT
MEDIUMbin/fm-tmux-lib.sh413 # If the pane is busy (agent mid-turn), the harness accepted the EnterCOMMENT
MEDIUMbin/fm-claude-stop-autoarm.sh13# - Identity: only when THIS session's harness ancestor holds state/.lock.COMMENT
MEDIUMbin/fm-claude-stop-autoarm.sh14# When an existing numeric owner fails the shared harness-liveness predicate,COMMENT
MEDIUMbin/fm-claude-stop-autoarm.sh90# A prior session may have died after leaving its numeric harness pid in .lock.COMMENT
MEDIUMbin/fm-claude-stop-autoarm.sh156# NO shell &: this hook process tree is the harness-owned lifecycle. The armCOMMENT
MEDIUMbin/fm-cd-pretool-check.sh11# harness payload, invokes that policy, and renders the established harnessCOMMENT
MEDIUMbin/fm-wake-lib.sh129# Print the supervision model of this home's PRIMARY harness:COMMENT
MEDIUMbin/fm-wake-lib.sh133# persistent every other harness (codex foreground checkpoint, opencode/pi/grokCOMMENT
MEDIUMbin/fm-wake-lib.sh137# the harness). Otherwise bin/fm-harness.sh is the single detection owner, so thisCOMMENT
MEDIUMbin/fm-wake-lib.sh138# stays consistent with the harness-specific repair line the guards already emit.COMMENT
MEDIUMbin/fm-transition-lib.sh75# status today: herdr reports it precisely when a harness isCOMMENT
MEDIUMbin/fm-test-run.sh348# secondmate lifecycle, bootstrap, live-harness opt-in, GUI-backend, and otherCOMMENT
MEDIUMbin/fm-test-run.sh909 # The run tier's two harness-supplied facts (source vocabulary andCOMMENT
MEDIUMbin/fm-test-run.sh910 # context-reset stdout injection) only show up against a real harness.COMMENT
MEDIUMbin/fm-lock.sh3# Writes the harness (agent) process PID found by walking the shell's ancestry,COMMENT
MEDIUMbin/fm-trace-context-lib.sh7# backend and every harness for ship, scout, and secondmate spawns), and recordsCOMMENT
MEDIUMbin/fm-sessionstart-run.sh9# skill has its own read-only path. When the harness injects hook stdout intoCOMMENT
MEDIUMbin/fm-sessionstart-run.sh14# --source The harness's own session-open source. When omitted, the source isCOMMENT
MEDIUMbin/fm-sessionstart-run.sh20# Source routing (see docs/sessionstart-nudge.md for the per-harness names):COMMENT
MEDIUMbin/fm-remote-secondmate-control.sh5# fm-remote-secondmate-control.sh launch <id> <harness> <model|-> <effort|-> herdr [traceparent]COMMENT
MEDIUMbin/fm-arm-pretool-check.sh5# standalone verified harness call.COMMENT
MEDIUMbin/fm-arm-pretool-check.sh8# This wrapper only acquires the harness payload, discovers the active roots,COMMENT
MEDIUMbin/fm-arm-pretool-check.sh9# invokes that policy, and renders the established harness-specific responses.COMMENT
MEDIUMbin/fm-arm-pretool-check.sh21# --background remains accepted for compatibility, but harness-native trackedCOMMENT
MEDIUMbin/fm-sessionstart-nudge.sh3# primary whose current harness session has not already acquired the home lock.COMMENT
MEDIUMbin/fm-composer-lib.sh19# container - a bordered composer box, where the harness draws its own promptCOMMENT
MEDIUMbin/fm-composer-lib.sh27# depending on how its harness happens to colour the row.COMMENT
MEDIUMbin/fm-composer-lib.sh30# afk-herdr-false-pending): a harness fills an otherwise-empty composer withCOMMENT
MEDIUMbin/fm-composer-lib.sh41# drift into per-harness one-off strips again; the previous herdr-only faintCOMMENT
MEDIUMbin/fm-composer-lib.sh84# no fleet harness uses it for ghost text, so it is kept (real text wins:COMMENT
MEDIUMbin/fm-composer-lib.sh179# [idle_re] optional per-harness idle-placeholder regex (e.g. grok'sCOMMENT
MEDIUMbin/fm-composer-lib.sh207 # Shell prompt glyph: empty ONLY inside a composer box (the harness's ownCOMMENT
MEDIUMbin/fm-vendor-auth-probe.sh5# This script collects a FACT and renders no verdict. It takes no harness, model,COMMENT
MEDIUMbin/fm-vendor-auth-probe.sh8# plus each harness's authoritative model catalog; the decision procedure isCOMMENT
MEDIUMbin/fm-vendor-auth-probe.sh24# carries no harness, model, provider, credential-store, or provider-familyCOMMENT
MEDIUMbin/fm-supervise-daemon.sh560# harness's composer box borders, so an aligned ghost-only or idle borderedCOMMENT
MEDIUMbin/fm-supervise-daemon.sh569# harness selects exactly one signature, so output from another harness cannotCOMMENT
MEDIUMbin/fm-supervise-daemon.sh572# Resolved lazily and memoized: harness detection walks process ancestry, whichCOMMENT
MEDIUMbin/fm-supervise-daemon.sh132# harness's box borders before deciding, so aCOMMENT
MEDIUMbin/fm-supervise-daemon.sh188# harness-verification discipline. Selecting one refuses loudly at startupCOMMENT
MEDIUMbin/fm-supervise-daemon.sh207# Composer-empty detection, submit acknowledgement, and the harness-scopedCOMMENT
MEDIUMbin/fm-supervise-daemon.sh764# or herdr or a captain-supplied command. This is the one injection point the test harness forces to a recorderCOMMENT
MEDIUMbin/fm-supervise-daemon.sh1361 # harness-verification discipline). This is the clear refusal the task callsCOMMENT
MEDIUMbin/fm-pending-reply-lib.sh644# It stays harness-scoped (fm_busy_lines_match with the recorded harness, noCOMMENT
MEDIUMbin/fm-pending-reply-lib.sh645# global OR of every vendor signature), so one harness's output cannot makeCOMMENT
438 more matches not shown…
Over-Commented Block530 hits · 494 pts
SeverityFileLineSnippetContext
LOW.no-mistakes.yaml1# Per-repo no-mistakes overrides.COMMENT
LOW.no-mistakes.yaml21 For changed prose, verify audience, authoritative owner, current relevance,COMMENT
LOWbin/fm-secondmate-registry-lib.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-gate-refuse-lib.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-gate-refuse-lib.sh21# 1. NO_MISTAKES_GATE set - the durable env marker no-mistakes stamps into everyCOMMENT
LOWbin/fm-gate-refuse-lib.sh41# must exercise the REAL fm-spawn/fm-send/fm-teardown, but the no-mistakes gateCOMMENT
LOWbin/fm-remote-file.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-lint.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-lint.sh21# Explicit paths always bypass this file-set selection and lint exactly theCOMMENT
LOWbin/fm-herdr-lab.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-ensure-agents-md.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-timing-lib.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-timing-lib.sh21# being measured run in bin/fm-bootstrap.sh andCOMMENT
LOWbin/fm-afk-start.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-afk-start.sh21# background process differs by harness/backend and is owned elsewhere:COMMENT
LOWbin/fm-afk-start.sh41COMMENT
LOWbin/fm-backlog-handoff.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-backlog-handoff.sh21# active home, or the firstmate repo;COMMENT
LOWbin/fm-backlog-handoff.sh41# everywhere; the `config/backlog-backend=manual` knob only governs firstmate'sCOMMENT
LOWbin/fm-procevent-lavish.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-procevent-lavish.sh21# and restart recovery all belong to bin/fm-procevent.sh.COMMENT
LOWbin/fm-x-reply.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-x-reply.sh21# Optional --image <path> attaches one local image file to the answer or followupCOMMENT
LOWbin/fm-x-reply.sh41# it exits non-zero so the caller knows the post did not land. The confirmedCOMMENT
LOWbin/fm-x-reply.sh61# 9) rather than posting with a locally defaulted budget - firstmate holds andCOMMENT
LOWbin/fm-config-push.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-project-mode.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-project-mode.sh21# direct-PR push + PR via gh-axi, no pipelineCOMMENT
LOWbin/fm-remote-home-provision.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-procevent-remote-reply.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-procevent-remote-reply.sh21# canonical source id instead of the secondmate id and is called by the runnerCOMMENT
LOWbin/fm-x-lib.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-x-lib.sh21# no local inbox payload survivesCOMMENT
LOWbin/fm-x-lib.sh41# fmx_post_json <endpoint> <payload-file> [body-file] - POST JSON to the relay,COMMENT
LOWbin/fm-x-lib.sh361# context without using a local platform or budget default.COMMENT
LOWbin/fm-x-lib.sh401 fiCOMMENT
LOWbin/fm-x-lib.sh901# x_request=<request_id> the relay-issued id the follow-up posts againstCOMMENT
LOWbin/fm-tmux-lib.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-tmux-lib.sh21# idle pane as holding pending input and the daemon deferred injection / firstmateCOMMENT
LOWbin/fm-tmux-lib.sh41# the Enter-retry budget is spent: a busy pane means the harness accepted andCOMMENT
LOWbin/fm-tmux-lib.sh61# Composer-content classification (empty|pending|unknown, and the fleet-wideCOMMENT
LOWbin/fm-tmux-lib.sh301 fiCOMMENT
LOWbin/fm-tmux-lib.sh381COMMENT
LOWbin/fm-claude-stop-autoarm.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-claude-stop-autoarm.sh21# - Need: arms only while work is in flight (state/*.meta) or X mode has aCOMMENT
LOWbin/fm-claude-stop-autoarm.sh41#COMMENT
LOWbin/fm-cd-pretool-check.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-cd-pretool-check.sh21# extract the exact command string.COMMENT
LOWbin/fm-tasks-axi-lib.sh1# shellcheck shell=bashCOMMENT
LOWbin/fm-tasks-axi-lib.sh21#COMMENT
LOWbin/fm-wake-lib.sh121# that - it decides whether to start, attach to, or replace a real watcherCOMMENT
LOWbin/fm-transition-lib.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-transition-lib.sh21# and `pane.agent_status_changed` report.COMMENT
LOWbin/fm-transition-lib.sh61 printf '%s' "$1" | cut -d"$FM_TRANSITION_FIELD_SEP" -f"$2"COMMENT
LOWbin/fm-transition-lib.sh81# (a crew resumed/started a turn) is the clearing edge.COMMENT
LOWbin/fm-lock-lib.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-x-followup.sh1#!/usr/bin/env bashCOMMENT
LOWbin/fm-x-followup.sh21# fm-x-followup.sh --clear <task-id>COMMENT
LOWbin/fm-x-followup.sh41# recoverable rather than posting with a local default.COMMENT
LOWbin/fm-decision-hold.sh1#!/usr/bin/env bashCOMMENT
470 more matches not shown…
Decorative Section Separators35 hits · 91 pts
SeverityFileLineSnippetContext
MEDIUMbin/fm-supervise-daemon.sh1295# ============================================================================COMMENT
MEDIUMbin/fm-supervise-daemon.sh1298# ============================================================================COMMENT
MEDIUMbin/fm-busy-lib.sh260# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/fm-secondmate-harness.test.sh67# ===========================================================================COMMENT
MEDIUMtests/fm-secondmate-harness.test.sh69# ===========================================================================COMMENT
MEDIUMtests/fm-secondmate-harness.test.sh103# ===========================================================================COMMENT
MEDIUMtests/fm-secondmate-harness.test.sh105# ===========================================================================COMMENT
MEDIUMtests/fm-secondmate-harness.test.sh393# ===========================================================================COMMENT
MEDIUMtests/fm-secondmate-harness.test.sh396# ===========================================================================COMMENT
MEDIUMtests/fm-secondmate-harness.test.sh565# ===========================================================================COMMENT
MEDIUMtests/fm-secondmate-harness.test.sh568# ===========================================================================COMMENT
MEDIUMtests/fm-secondmate-harness.test.sh924# ===========================================================================COMMENT
MEDIUMtests/fm-secondmate-harness.test.sh928# ===========================================================================COMMENT
MEDIUMtests/fm-secondmate-harness.test.sh141# ===========================================================================COMMENT
MEDIUMtests/fm-secondmate-harness.test.sh143# ===========================================================================COMMENT
MEDIUMtests/fm-secondmate-harness.test.sh257# ===========================================================================COMMENT
MEDIUMtests/fm-secondmate-harness.test.sh259# ===========================================================================COMMENT
MEDIUMtests/fm-secondmate-harness.test.sh1609# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/fm-secondmate-harness.test.sh1611# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/fm-x-mode.test.sh128# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/fm-afk-launch.test.sh43# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/fm-afk-launch.test.sh45# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/fm-afk-launch.test.sh121# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/fm-afk-launch.test.sh124# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/fm-afk-launch.test.sh150# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/fm-afk-launch.test.sh153# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/fm-afk-launch.test.sh825# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/fm-afk-launch.test.sh827# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/fm-afk-launch.test.sh886# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/fm-afk-launch.test.sh889# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/fm-crew-state.test.sh345# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/fm-backend-herdr-presentation-e2e.test.sh936# ------------------------------------------------------------------COMMENT
MEDIUMtests/fm-backend-herdr-presentation-e2e.test.sh939# ------------------------------------------------------------------COMMENT
MEDIUMtests/fm-subagent-pretool-check.test.sh74# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/fm-subagent-pretool-check.test.sh76# ---------------------------------------------------------------------------COMMENT
Example Usage Blocks34 hits · 52 pts
SeverityFileLineSnippetContext
LOWbin/fm-remote-file.sh4# Usage:COMMENT
LOWbin/fm-lint.sh32# Usage:COMMENT
LOWbin/fm-herdr-lab.sh5# Usage:COMMENT
LOWbin/fm-procevent-lavish.sh4# Usage:COMMENT
LOWbin/fm-remote-home-provision.sh4# Usage:COMMENT
LOWbin/fm-procevent-remote-reply.sh4# Usage:COMMENT
LOWbin/fm-cd-pretool-check.sh15# Usage:COMMENT
LOWbin/fm-decision-hold.sh19# Usage:COMMENT
LOWbin/fm-install-shellcheck.sh4# Usage:COMMENT
LOWbin/fm-secondmate-report.sh10# Usage:COMMENT
LOWbin/fm-remote-inherit.sh4# Usage:COMMENT
LOWbin/fm-backlog-receive.sh4# Usage:COMMENT
LOWbin/fm-remote-secondmate-control.sh4# Usage:COMMENT
LOWbin/fm-public-followup-emit.sh15# Usage:COMMENT
LOWbin/fm-startup-memory-budget.sh3# Usage:COMMENT
LOWbin/fm-arm-pretool-check.sh13# Usage:COMMENT
LOWbin/fm-install-treehouse.sh9# Usage:COMMENT
LOWbin/fm-herdr-ci-cleanup.sh14# Usage:COMMENT
LOWbin/fm-remote-home-seed.sh4# Usage:COMMENT
LOWbin/fm-vendor-auth-probe.sh56# Usage:COMMENT
LOWbin/fm-afk-return.sh4# Usage:COMMENT
LOWbin/fm-test-isolation-proof.sh15# Usage:COMMENT
LOWbin/fm-on.sh4# Usage:COMMENT
LOWbin/fm-public-followup.sh27# Usage:COMMENT
LOWbin/fm-procevent.sh6# Usage:COMMENT
LOWbin/fm-install-herdr.sh8# Usage:COMMENT
LOWbin/fm-kimi-turnend-hook.sh15# Usage:COMMENT
LOWbin/fm-remote-doctor.sh4# Usage:COMMENT
LOWbin/fm-doc-audience-check.sh4# Usage:COMMENT
LOWbin/fm-remote-delta-read.sh4# Usage:COMMENT
LOWbin/fm-subagent-pretool-check.sh33# Usage:COMMENT
LOWbin/fm-afk-launch.sh22# Usage:COMMENT
LOWbin/fm-home-seed.sh4# Usage:COMMENT
LOWtests/remote-herdr-fixture.sh20# Usage:COMMENT
Modern AI Meta-Vocabulary16 hits · 47 pts
SeverityFileLineSnippetContext
MEDIUM.no-mistakes.yaml3# firstmate is an agent-orchestration repo: its AGENTS.md installs a fleet-captainCOMMENT
MEDIUMbin/fm-backlog-handoff.sh547# Seed the destination with firstmate's standard three-section scaffold when itCOMMENT
MEDIUMbin/fm-backlog-handoff.sh561# cleanup is a scaffold we just created. tasks-axi writes both its success andCOMMENT
MEDIUMbin/fm-brief.sh27# The flag must be explicit because {TASK} is filled after scaffolding and theCOMMENT
MEDIUMbin/fm-brief.sh48# Every scaffold's status protocol distinguishes the configuredCOMMENT
MEDIUMbin/fm-brief.sh140# missing or invalid value stops the scaffold rather than silently defaulting.COMMENT
MEDIUMbin/fm-brief.sh271# shellcheck disable=SC2016 # single quotes are deliberate: these lines are literal brief text whose backtick-wrapped $COMMENT
MEDIUMbin/fm-brief.sh393When starting no-mistakes, make \`--intent\` preserve all relevant content from this brief's \`# Task\` section plus eveCODE
MEDIUMbin/fm-public-followup.sh36# public-followup add` + `bind-work`. This is the event-drivenCOMMENT
MEDIUMtests/fm-muse-harness.test.sh60# --- spawn scaffolding ------------------------------------------------------COMMENT
MEDIUMtests/fm-brief.test.sh182# scaffold ignores the registered posture (test_ship_mode_is_explicit_not_registry).COMMENT
MEDIUMtests/fm-brief.test.sh221# unusable value must stop the scaffold instead of silently defaulting. TheCOMMENT
MEDIUMtests/fm-brief.test.sh248# scaffold must follow the explicit flag even when the project is registeredCOMMENT
MEDIUMtests/fm-brief.test.sh693# Scout and secondmate paths still scaffold well-formed briefs.COMMENT
MEDIUMtests/fm-backlog-handoff.test.sh164 # in the standard three-section scaffold the handoff seeds for a fresh home.COMMENT
MEDIUMtests/fm-backlog-handoff.test.sh393 # sub scaffold has In flight / Queued / DoneCOMMENT
Self-Referential Comments9 hits · 28 pts
SeverityFileLineSnippetContext
MEDIUMbin/fm-afk-start.sh15# This file is sourceable: its BASH_SOURCE guard keeps main from running, whileCOMMENT
MEDIUMbin/fm-x-lib.sh9# This file is sourced, never executed. It defines:COMMENT
MEDIUMbin/fm-tasks-axi-lib.sh19# This file is the single owner of FM_TASKS_AXI_MIN. bin/fm-bootstrap.sh turns aCOMMENT
MEDIUMbin/fm-primary-scope-lib.sh4# This file is sourced by hook entrypoints and has no side effects on source.COMMENT
MEDIUMbin/fm-operational-input.sh4# This file is both a source-safe shell library and the cross-language CLI usedCOMMENT
MEDIUMbin/fm-pending-reply-lib.sh231# Create a durable pending-reply expectation. Prints corr_id on success.COMMENT
MEDIUMbin/fm-session-lock-lib.sh9# This file is sourced by scripts and has no side effects on source.COMMENT
MEDIUMbin/fm-quota-axi-lib.sh8# This file is the single owner of that version number. bin/fm-bootstrap.shCOMMENT
MEDIUMtests/fm-afk-inject-e2e.test.sh154# Create a fake crewmate window (the watcher lists fm-* windows for staleCOMMENT
Hyper-Verbose Identifiers22 hits · 23 pts
SeverityFileLineSnippetContext
LOWbin/fm-kimi-turnend-hook.sh201def validate_firstmate_files_for_remove() -> None:STRING
LOWbin/fm-bootstrap.sh1020 def malformed_optional_fields($items):CODE
LOW.opencode/plugins/fm-primary-watch-arm.js238async function restoreAfterActionableClose(paths, sessionID, client, predecessorArmPid) {CODE
LOW.opencode/plugins/lib/fm-operational-input.js10export function encodeFirstmateOperationalInput(root, kind, content) {CODE
LOWtests/fm-backend-herdr-eventwait.test.py51 def test_deadline_is_clean_timeout(self):CODE
LOWtests/fm-backend-herdr-eventwait.test.py62 def test_peer_closure_is_runtime_failure(self):CODE
LOWtests/fm-backend-herdr-eventwait.test.py75 def test_receive_error_is_runtime_failure(self):CODE
LOWtests/fm-backend-herdr-eventwait.test.py84 def test_main_reports_early_stream_closure(self):CODE
LOWtests/fm-backend-herdr-eventwait.test.py93 def test_main_does_not_signal_readiness_before_valid_ack(self):CODE
LOW.pi/extensions/fm-calm.ts113function installCalmPresentationAdapter(name: string, install: () => void): void {CODE
LOW.pi/extensions/fm-primary-pi-watch.ts294 async function restoreAfterActionableClose(owner: SessionGeneration, predecessorArmPid: string): Promise<string> {CODE
LOW.pi/extensions/lib/fm-operational-input.ts21function runOperationalInputCommand(CODE
LOW.pi/extensions/lib/fm-operational-input.ts36export function encodeFirstmateOperationalInput(CODE
LOW.pi/extensions/lib/fm-operational-input.ts47export function classifyFirstmateOperationalText(content: string): string | undefined {CODE
LOW.pi/extensions/lib/fm-operational-input.ts51export function classifyFirstmateCurrentOperationalText(CODE
LOW.pi/extensions/lib/fm-calm-assistant-layout.ts27export function installCalmAssistantLayout(): void {CODE
LOW.pi/extensions/lib/fm-calm-operational-user-layout.ts62export function installCalmOperationalUserLayout(): void {CODE
LOW.pi/extensions/lib/fm-calm-working-ship.ts85export function createCalmWorkingShipAnimation(): CalmWorkingShipAnimation {CODE
LOW.pi/extensions/lib/fm-calm-working-ship.ts219export function createCalmWorkingShipWidget(CODE
LOW.pi/extensions/lib/fm-calm-visibility.ts66export function calmTranscriptClassIsVisible(itemClass: CalmTranscriptClass): boolean {CODE
LOW.pi/extensions/lib/fm-calm-visibility.ts74export function setCalmStockExportRendering(active: boolean): void {CODE
LOW.pi/extensions/lib/fm-calm-visibility.ts86export function registerFirstmateSyntheticPresentation(pi: ExtensionAPI): void {CODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWbin/fm-bootstrap.sh94# Set FM_BOOTSTRAP_NETWORK to split this run by whether a step talks toCOMMENT
Excessive Try-Catch Wrapping1 hit · 0 pts
SeverityFileLineSnippetContext
LOWbin/fm-kimi-turnend-hook.sh191 except Exception:STRING