Files
clawmates/ci/check-no-placeholders.sh
T
Omar SobhandClaude Fable 5 0afb359183 P0: workspace scaffold, CI gates, tc-domain, tc-config, tc-db vs real Postgres
- Cargo workspace with 1250-line and no-placeholder CI gates wired first
- tc-domain: id newtypes, SessionKey codec (proptest round-trip), Role,
  GatedCategory (spec §15), AccessPolicy, core entities
- tc-config: figment TOML+env config, DeployTarget/provider/auth selection
  with semantic validation
- migrations/0001: full spec §14 schema incl. DB-enforced append-only audit_log
- tc-db: compile-time-checked sqlx repos (workspaces, users, agents+policies,
  credits, audit) with committed .sqlx offline metadata
- tc-testkit: per-test real-Postgres databases (testcontainers or
  TC_TEST_DATABASE_URL), embedded migrations

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-06-09 22:25:47 -05:00

20 lines
606 B
Bash
Executable File

#!/usr/bin/env bash
# Fails the build if placeholder markers appear anywhere in source.
# The project ships no stubs, no TODOs, no deferred work.
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
PATTERN='TODO|FIXME|XXX:|todo!\(|unimplemented!\('
MATCHES=$(grep -RInE "$PATTERN" \
"$ROOT/crates" "$ROOT/frontend/src" "$ROOT/tools" "$ROOT/tests" \
--include='*.rs' --include='*.ts' --include='*.tsx' --include='*.css' \
--exclude-dir=node_modules --exclude-dir=target 2>/dev/null || true)
if [ -n "$MATCHES" ]; then
echo "Placeholder markers found:"
echo "$MATCHES"
exit 1
fi
exit 0