Skip to content

Reframe project principle: enterprise-quality portfolio bar#3

Closed
jkeeley2073 wants to merge 0 commit into
mainfrom
Dev-EnterpriseQualityFraming
Closed

Reframe project principle: enterprise-quality portfolio bar#3
jkeeley2073 wants to merge 0 commit into
mainfrom
Dev-EnterpriseQualityFraming

Conversation

@jkeeley2073
Copy link
Copy Markdown
Contributor

Summary

One-line change to CLAUDE.md to update the project's stated quality bar from "hobby project, keep it simple" to enterprise-quality portfolio framing. The repo is now public and serves as portfolio evidence of professional work; the previous principle nudged toward shortcuts on testing, observability, and hygiene that are baseline expectations for portfolio-grade code.

The "keep it simple" intent is preserved (don't add speculative abstractions) but the bar around CI/CD, zero warnings, structured logging, metrics, dependency scanning, lockfile, integration tests, deterministic builds, and license/contributor docs is now explicit.

Test plan

  • git diff --stat → 1 file changed, 1 insertion, 1 deletion (literally just the principle bullet)
  • No code touched

Why merge this alone

Locks the framing in main durably so it persists across sessions and reviewers. Subsequent enterprise-readiness work (zero-warning enforcement, CI/CD, etc.) gets sequenced into separate PRs, each tied to a specific gap.

jkeeley2073 added a commit that referenced this pull request May 4, 2026
Per /local-review on PR #68: grep -E exits 2 on a malformed extended
regex, but run_rule wraps the grep call with `|| true` which masks
exit 2 as "no match" — silently disabling the rule. A typo in the
WORK_EMAIL_PATTERN secret would pass the workflow without ever
checking commits against the work-email pattern.

The narrow fix: pre-validate the pattern by running it against an
empty stdin via printf '' | grep -E "$WORK_EMAIL_PATTERN" and
checking grep's exit code directly. Exit 2 = malformed pattern,
fail the workflow with an error annotation that names the issue
and points the operator at how to fix the secret. Exit 0 (matches
empty) or 1 (no match against empty) → pattern is well-formed,
proceed to run_rule normally.

The broader cleanup of run_rule itself (distinguishing grep exit
codes 0/1/2 for every rule) is out of scope for this PR — the
narrow fix here addresses the new rule's specific risk without
touching pre-existing behavior of the other rules.

Local review summary (retroactive on PR #68): 0 🔴, 3 ⚠️ findings.
- ⚠️ #1 (post-merge smoke test): already covered in the PR
  description's "Validation hand-off after merge" section.
- ⚠️ #2 (grep exit-2 silent swallow): fixed by this commit.
- ⚠️ #3 (doc-anchor verification): the comment cites
  "docs/build-spec.md Phase 2 § Scope item 9" which exists at
  build-spec.md:225 — verified, no change needed.
@jkeeley2073 jkeeley2073 closed this May 8, 2026
@jkeeley2073 jkeeley2073 force-pushed the Dev-EnterpriseQualityFraming branch from 4b83268 to bc8230d Compare May 8, 2026 14:25
@jkeeley2073
Copy link
Copy Markdown
Contributor Author

Closing context for the record:

The intent — reframe the project posture from "hobby — keep it simple" to enterprise-quality — was fully accomplished by the spec system rewrite (PR #64) and is now extensively present in main's CLAUDE.md:

  • Opening framing (line 5): "PinballWizard is a customer-facing showcase / reference application that demonstrates Jim's ability to architect, build, ship, and operate an enterprise-class AI solution end-to-end."
  • Entire ## Showcase obligations (overriding guidance) section (lines 11–22) explicitly enumerates: no quick fixes / shortcuts, architecture must read cleanly, observability and operability are first-class, tests assert behavior, documentation is part of the product, polite-by-construction, provenance is the AI story, cost discipline.

The "Project principles" bullet list this PR targeted no longer exists in CLAUDE.md — it was deliberately replaced by the canonical spec system (docs/vision.md, docs/guardrails.md, docs/build-spec.md, docs/quality-spec.md, docs/decision-log.md). Branch rebased clean against current main: 0 additions/deletions. Nothing left to merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant