- 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]>
20 lines
606 B
Bash
Executable File
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
|