Releases: myICOR/myPKA
Release list
myPKA scaffold v5.5.1
myPKA scaffold v5.5.1
5.5.0 was published for a few minutes and withdrawn. Its copy of the new privacy guard hardcoded the maintainer names it was checking for, which put those names into the very folder the guard exists to keep them out of. The names now live in a repo-local config that is not shipped. 5.5.1 is 5.5.0 plus that correction; everything below applies to both.
Privacy fix: the scaffold no longer carries anything about its author. A member auditing their own installation found personal context belonging to the scaffold's author shipped inside the released template, and reported it privately instead of opening an issue. The report was accurate. This release removes what they found, plus everything of the same kind that a full sweep turned up afterwards, and adds the check that should have caught it.
If you run the Cockpit, its health dashboard may have shown you a care plan that was never yours. It is gone. After updating, rebuild the Cockpit web bundle; the dashboard then reads from your own Apple Health data only.
Fixed
- The author's personal context is removed from the Cockpit.
Expansions/mypka-cockpit/web/src/lib/status.tscarried hardcodedplanstrings and threshold comments describing one specific person's medical situation: an insurance scheme, a dated personal target, an outstanding specialist referral, and an approximate age. Those strings rendered on the health dashboard as though they were the installing member's own plan. Every reference range in that file is now general published guidance (WHO BMI cut-points, standard SpO₂ and resting-heart-rate bands), and everyplanstring is generic. The same class of content is removed fromserver/markdown.jsandweb/src/sections/Planned.tsx, where code comments named specific medical conditions. - The weight trend no longer assumes a direction.
BETTER_WHEN.weightwas-1, meaning "down is better", because down was the author's goal. Weight has no clinically correct direction without context, which that file's own comment already said, so it is nownulland the weight trend reads as informational rather than as progress against a target you never set. - Roughly 100 mentions of the author by name are removed across 45 files, most of them Cockpit code comments attributing design decisions. Decisions are now attributed to the decision, and runtime behaviour to "the user".
- Weekly report editions start at 1.
edition_no()hardcoded an anchor from the author's own archive and derived every later number by week offset, so a fresh install's first edition was numbered in the low thirties and implied dozens of back-issues that never existed. That number reached the frontmatter, the page heading and the archive. Numbering now derives from your own first filed edition. An existing series can be pinned withWEEKLY_REPORT_EDITION_ANCHOR="YYYY-MM-DD:N". - Dangling references to documents that never shipped are removed from the weekly-report scripts and deck assets. They pointed at guidelines, SOPs and specialists that exist only in the author's private vault.
Security
-
The install-time personalization could silently re-attribute the author's content to you. The root
AGENTS.mdinstructed the installing agent never to address the user as a third party, and named the author's first name as an example of a stand-in to avoid. That instruction carried no file-type scope, so an agent could reasonably find-and-replace the literal name across the entire folder, including into.tssource where the name was authorship rather than a placeholder. The effect was that the author's design decisions, and the health content described above, appeared under the installing member's own name, and the substitution removed the only clue that the content was not theirs.The sanctioned substitution has always been the
{{USER_NAME}}token in.md,.yaml,.ymland.txtfiles only.AGENTS.mdandADAPTER-PROMPT.mdnow state that explicitly and forbid writing, or rewriting, a person's name inside source code for any reason.
Added
-
scripts/check-no-personal-data.py, a release gate that scans the tree for maintainer personal data: personal names as standalone words, insurance-scheme markers, named medical conditions, ages, and outstanding-referral phrasing. It exits non-zero and printsfile:linefor every finding. Legitimate uses, such as the formal authorship credit and historical figures quoted in sample content, are exact-string exceptions rather than widened patterns. -
.github/workflows/privacy-guard.yml, which runs that scan on every push and every pull request with no path filter, and is intended to be a required status check onmain. The same scan also runs inside the release pipeline against the artifact, so a tag pushed from a stale local branch cannot publish a leak that the branch check never saw.The check that existed before this looked for unreplaced
{{USER_NAME}}tokens. It was green the whole time, because the token really was absent while the literal name was present. A guard whose passing state is reachable without the thing being true is worse than no guard, because its green prevents the check a missing guard would have prompted.
Removed
- The scaffold ZIP no longer contains
.github/. That folder is repository infrastructure formyICOR/myPKAitself, not scaffold content, and it was already outside the declared contract: it appears in neitherframework_pathsnoruser_state_pathsinmanifest.json, so the updater never managed it. Shipping it also put our own Supabase project URL, edge-function name and CI secret names into every member's folder, and handed anyone building a derivative a release pipeline aimed at our infrastructure rather than theirs. A new.gitattributesmarks itexport-ignore. Nothing you rely on is affected; if you have a.github/folder from an earlier version, the updater will leave it alone, and you can delete it. - Every previous release is withdrawn, all twenty of them, and their download assets are deleted. The v5 line shipped the health content described above; the v1 and v2 lines carried the author's name but no health content. Update to 5.5.0.
Download
- Latest (stable URL):
mypka-scaffold-latest.zip— always resolves to the newest scaffold. - This version (pinned): the
mypka-scaffold-v5.5.1.zipasset attached below.
Unzip it into a folder, open that folder in your LLM tool, and paste initialize yourself in this folder — see the README for the full setup.
Integrity
- ZIP sha256:
06417e3741fa5c5228992dd60d6df4813604f37cfbc40dcc2c64080468a07c94
Full changelog: CHANGELOG.md