The stubs test suite runs without WordPress, so wp_parse_url() is
undefined when sanitize_url() calls it (introduced in the previous
PHPCS style commit). Add a thin stub that delegates to native
parse_url() — identical behaviour to the real WP function.
Agent-Session: prcore-jsonld-phpcs-20260623
All inline `/** @var ... */` single-line docblocks on class constants
and the $reader property are expanded to multi-line form with a proper
short description as the first tag (resolves
Generic.Commenting.DocComment.MissingShort on 8 locations across 2 files).
parse_url() → wp_parse_url() in sanitize_url() per WPCS
WordPress.WP.AlternativeFunctions.parse_url_parse_url (1 location).
No behaviour change: pure style/documentation fixes.
Agent-Session: prcore-jsonld-phpcs-20260623
Squash-merge of PR #22: adopt shared reusable CI workflow, convert PHPUnit to stubs, update branch-protection contexts.
QA-approved at 05d8094a1d. All required CI checks green.
Agent-Session: 2026-06-17-prcore-ci-deploy
Replaces the per-repo staging/smoke/production jobs with one call to
peptiderepo/peptide-e2e/.github/workflows/deploy-app.yml (target_path=wp-content/plugins/peptide-repo-core).
Validated end-to-end on the calculator pilot.
Agent-Session: cto rollout-reusable-deploy
* ci(audit): retry PR-association check to stop false positives on squash-merges
listPullRequestsAssociatedWithCommit is eventually-consistent after a squash
merge; the single immediate call intermittently flagged legit merges as
'direct push to main'. Now polls up to 5x/10s before opening an issue.
Agent-Session: cto audit-race-fix
* chore: bump plugin header to 0.5.0 to match PR_CORE_VERSION constant
The smoke job is a reusable-workflow 'uses:' call; Actions does not support
continue-on-error there, producing a 0-job workflow failure that has failed
every deploy (so v0.5.0 never reached production). Matches the prautoblogger
fix in #147. Smoke is not in deploy-production needs, so it stays non-blocking.
Agent-Session: cto restore-prcore-deploy
Co-authored-by: peptiderepo <peptiderepo@users.noreply.github.com>
- Remove invalid continue-on-error from reusable workflow call
(GitHub Actions doesn't support this property on 'uses:' jobs;
it caused 0-job workflow failures)
- Remove 'smoke' from deploy-production needs — smoke failures (e.g.
Playwright infra issues) must not block valid production deploys.
This matches the pattern already used by the theme repo.
- Smoke still runs and uploads artifacts; it's just not a gate.
- smoke job now has continue-on-error: true so a Playwright infra failure
never silently blocks a valid production deploy
- smoke.yml root cause was fixed in peptide-e2e (da79ee2) — explicit
checkout of peptide-e2e in workflow_call context
- This commit retriggers the CI/deploy pipeline for PR Core v0.5.0
- Register repo_daily CPT at /daily/[slug]/ for editorial publications
- Register repo_daily_category taxonomy with 4 seeded terms
- Add Repo Daily metabox for author byline and clinical review flag
- Bulk-migrate _repo_daily_author on autoblogged posts (psa_source)
- Update ARCHITECTURE.md with content-type table and scanner scope
- Update CONVENTIONS.md with repo_daily meta field extension pattern
- Bump version to 0.5.0, add CHANGELOG entry
Closes v0.5.0 scope.
v0.2.0 removed TAX_FAMILY from PR_Core_Peptide_CPT but left two stale
references in PR_Core_Peptide_Repository:
- find_all() family filter branch (class-pr-core-peptide-repository.php:95-102)
- post_to_dto() families taxonomy lookup (class-pr-core-peptide-repository.php:138)
JSON-LD emission on single-peptide templates called find_by_id() ->
post_to_dto() which hit the undefined constant and killed every peptide
detail page render mid-wp_head().
Fix:
- family filter is silently ignored until a future minor bump
removes it from the REST schema.
- post_to_dto() hardcodes $families = [] so the DTO still carries
the field (REST response shape unchanged for existing clients).
Out-of-scope follow-ups:
- Post-mortem on why the v0.2.0 QA gate missed this (unit tests
exercised the CPT class in isolation, not the repository's
consumption of its constants).
- Add an integration-style test for JSON-LD emission on a single
peptide so any future CPT-class refactor catches repository drift.
Co-authored-by: peptiderepo <peptiderepo@users.noreply.github.com>