Skip to content

Strengthen portfolio evidence links and publication controls - #11

Merged
cbratkovics merged 1 commit into
mainfrom
codex/remove-career-coaching-materials-from-repository
Sep 15, 2026
Merged

cbratkovics merged 1 commit into
mainfrom
codex/remove-career-coaching-materials-from-repository

Conversation

@cbratkovics

Copy link
Copy Markdown
Owner

Motivation

  • Remove tracked personal alignment/preparation material from the public tree and eliminate CTAs that point to unverifiable preparation content while preserving legitimate professional experience and case studies.
  • Extend publication checks so repository-wide tracked source and generated outputs are scanned for high-confidence preparation/coaching patterns before publishing artifacts.
  • Keep links-only contact, identity, chronology, project ordering, and evidence provenance intact.

Description

  • Deleted the internal alignment record at portfolio/docs/alignment-notes.md and removed direct CTAs to unverified Document Intelligence docs from portfolio/data/projects.ts while retaining the project repo link and an accurate implementation description.
  • Added portfolio/scripts/publication-content-check.mjs, a repository-root publication scanner that detects focused preparation/coaching language and suspicious document names, can optionally scan generated .next output, and reports only path:line [rule] before returning a nonzero exit on findings.
  • Wire the new checks into package scripts and CI by adding check:publication and check:publication:build to portfolio/package.json, updating .github/workflows/portfolio-quality.yml to run source checks before lint/build and generated-output checks after build, and documenting the checks in portfolio/README.md.
  • Added positive/negative unit tests in portfolio/tests/content-contract.test.mjs to verify the new rules detect preparation guidance and avoid false positives on legitimate professional/technical language.

Testing

  • npm run check:publication — passed locally with the new scanner reporting no failing findings.
  • npm test — passed (10 tests).
  • npm run lint and npm run type-check — passed.
  • npm run build — passed and produced static assets successfully.
  • npm run check:publication:build — passed against generated output.
  • npm run test:e2e — passed (2 production-server smoke tests covering anchors, details/accordion behavior, links-only contact policy, canonical metadata, robots.txt, sitemap.xml, and the generated social image).
  • External destination and live-site verification attempts were made but the execution environment's outbound proxy returned HTTP 403, so alias/remote content and deployed-site freshness remain pending authorized post-deployment verification.
  • Branch for these changes: chore/portfolio-publication-standards and the working tree contains only the intended edits; remote PR publication was prepared via the tooling but live remote push/merge is outside this task.

Codex Task

@vercel

vercel Bot commented Sep 15, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
cbratkovics-dev Ready Ready Preview Sep 15, 2026 11:24pm UTC

Request Review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 15, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-15T23:26:35.239299Z dd9b6e6 PR opened
🔒 Security Review ✅ Completed 2026-09-15T23:24:47.004178Z dd9b6e6 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@cbratkovics
cbratkovics merged commit 6800975 into main Sep 15, 2026
2 of 3 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: dd9b6e6d3b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

const findings = [];
for (const [index, line] of contents.split(/\r?\n/u).entries()) {
for (const rule of preparationRules) {
if (rule.expression.test(line)) findings.push({ line: index + 1, rule: rule.id });

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Scan preparation phrases across line boundaries

When a prohibited phrase is soft-wrapped across lines, as commonly happens in Markdown (for example, interview\npreparation), splitting the contents before applying rules means neither invocation sees the complete phrase; scanText therefore returns no findings and the repository publication check passes despite the rendered text containing the prohibited guidance. Scan the complete contents, or include adjacent-line overlap while retaining line-number calculation.

Useful? React with 👍 / 👎.

@cbratkovics
cbratkovics deleted the codex/remove-career-coaching-materials-from-repository branch September 25, 2026 00:11

This branch was successfully deployed

1 active deployment
Preview — dd9b6e6d Deployed Sep 15, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant