\n As an Amazon Associate, Barkday™ earns from qualifying purchases. This does not affect which products are shown.\n
\n```\n","inline_bytes":5633,"content_sha256":"fd251e2fac56848394fe9fc11bfc57fedcff4555dadda4bd988c7d43b3709a5e"},{"path":"docs/decisions/DEC-20260106-01-local-ai-rails.md","size":1260,"sha":"76612520e9c4ff1fe0fdbbcf316f745389152f24","media_type":"text/markdown","raw_url":"https://raw.githubusercontent.com/CandidQuality/Barkday/9e38500d723ed1e8e1ca93eb8ae821c831f1414d/docs/decisions/DEC-20260106-01-local-ai-rails.md","html_url":"https://github.com/CandidQuality/Barkday/blob/9e38500d723ed1e8e1ca93eb8ae821c831f1414d/docs/decisions/DEC-20260106-01-local-ai-rails.md","inline_state":"full","max_inline_text_bytes":614400,"max_inline_bin_bytes":204800,"preview_text_bytes":65536,"encoding":"utf8","content":"# DEC-20260106-01 - Local AI rails\n\nStatus: Accepted\nDate: 2026-01-06\n\n## Goal\n\nEstablish minimal, repo-local rails that prevent AI-assisted edits from breaking Barkday data integrity,\ndocs policy, and local verification.\n\n## Intended outcome\n\n- A repo-local rules file exists and is referenced in contributor guidance.\n- Any AI-assisted change must be accompanied by a decision record and must run local verification before commit.\n- Changes are made on a branch and are reversible via version control.\n\n## Non-goals\n\n- Selecting a specific local model, inference engine, or hardware stack.\n- Automating commit signing or branch protection from within this repo.\n\n## Constraints\n\n- No secrets or private operational details in the public repo.\n- The rails must be easy to follow for a novice contributor.\n\n## Acceptance criteria\n\n- The rails are documented, repeatable, and do not block normal manual edits.\n- A contributor can follow the rails to make a change and pass checks on Windows.\n- The rails do not require external paid services.\n\n## Rollback plan\n\n- Revert the commit(s) that introduced the rails.\n- Remove the rules file and any new tooling, then restore prior documentation.\n\n## Notes\n\nThese rails are about safety and repeatability, not speed.\n","inline_bytes":1260,"content_sha256":"faf537bb3d0d65209e5892d5d4d098aea02a69e410f9952ff24c1b9140eda11a"},{"path":"docs/decisions/DEC-20260106-02-data-integrity-verify.md","size":1478,"sha":"e7b95bde67585ab1b9e56f2b8bc25cd9bef7e20f","media_type":"text/markdown","raw_url":"https://raw.githubusercontent.com/CandidQuality/Barkday/9e38500d723ed1e8e1ca93eb8ae821c831f1414d/docs/decisions/DEC-20260106-02-data-integrity-verify.md","html_url":"https://github.com/CandidQuality/Barkday/blob/9e38500d723ed1e8e1ca93eb8ae821c831f1414d/docs/decisions/DEC-20260106-02-data-integrity-verify.md","inline_state":"full","max_inline_text_bytes":614400,"max_inline_bin_bytes":204800,"preview_text_bytes":65536,"encoding":"utf8","content":"# DEC-20260106-02 - Data integrity verify\n\nStatus: Accepted\nDate: 2026-01-06\n\n## Goal\n\nAdd automated verification that catches alias/taxonomy drift and encoding-related read issues before merges.\n\n## Intended outcome\n\n- `tools/verify-breed-data.ps1` and `tools/verify-breed-data.sh` return exit code 1 if any of the following are true:\n - Any canonical key in `data/breed_aliases.json` (excluding keys starting with `_`) does not exist as a top-level key\n in `data/breed_taxonomy.json`.\n - Any alias string (case-insensitive, trimmed) appears under more than one canonical key.\n\n- Windows PowerShell reads JSON as UTF-8 explicitly to prevent false failures caused by encoding issues (e.g.,\n `\"Vend\\u00e9en\"` becoming `\"Vend\\u00c3\\u00a9en\"`).\n\n## Non-goals\n\n- Fixing historical data problems inside the JSON files as part of this decision.\n- Adding a full schema validator for every data file.\n\n## Constraints\n\n- Must run on Windows (PowerShell 7) without requiring a separate runtime.\n- Must not rely on network access.\n\n## Acceptance criteria\n\n- The verification scripts fail fast with a clear error message and non-zero exit code.\n- The verification scripts pass on a clean repo checkout on Windows and Linux/macOS.\n\n## Rollback plan\n\n- Remove the verification scripts and any workflow hooks that call them.\n- Revert the commit(s) that introduced the checks.\n\n## Notes\n\nThis is intentionally minimal: it protects core cross-file relationships and prevents silent drift.\n","inline_bytes":1478,"content_sha256":"5a7167bd3714a540b338b7c657db18bd965f5a7e5ba051920ff6c4cff5c66baf"},{"path":"docs/decisions/DEC-20260504-01-v2-gift-runtime-feed.md","size":1758,"sha":"1372b25e7fc0e1625d3ece77e724b4e17cbe121e","media_type":"text/markdown","raw_url":"https://raw.githubusercontent.com/CandidQuality/Barkday/9e38500d723ed1e8e1ca93eb8ae821c831f1414d/docs/decisions/DEC-20260504-01-v2-gift-runtime-feed.md","html_url":"https://github.com/CandidQuality/Barkday/blob/9e38500d723ed1e8e1ca93eb8ae821c831f1414d/docs/decisions/DEC-20260504-01-v2-gift-runtime-feed.md","inline_state":"full","max_inline_text_bytes":614400,"max_inline_bin_bytes":204800,"preview_text_bytes":65536,"encoding":"utf8","content":"# Decision Record: V2 Gift Runtime Feed\n\nDate: 2026-05-04\nChange ID: DEC-20260504-01\nBranch: main\n\n## Decision\n\nThe canonical gift system is the v2 pipeline.\n\nCanonical source inputs:\n\n- `data/dog-gifts-base.json`\n- `data/gift-batches/*.json`\n- `data/dog-gifts-preferred.json`\n\nCanonical generated outputs:\n\n- `data/dog-gifts-catalog.json`\n- `data/dog-gifts-merged.json`\n\nThe canonical runtime gift feed path is `data/dog-gifts-merged.json`. GitHub Pages publishes that same repo path at `https://candidquality.github.io/Barkday/data/dog-gifts-merged.json`. There is no separate promote step in the current workflow; rebuilding and committing the merged output lets the normal Pages deployment publish the updated feed.\n\nRoot-level `dog-gifts.json` and `dog-gifts.schema.json` are legacy compatibility artifacts only. New product work should not be added to that path unless a temporary compatibility export is explicitly needed.\n\nRaw Amazon files under `data/raw-amazon/` are evidence and import material only, not runtime feeds.\n\n## Update Workflow\n\n1. Edit only v2 source inputs: base, batch, or preferred overlay files.\n2. Run `.\\tools\\run-barkday-checks.ps1`.\n3. Inspect the source and generated output diffs.\n4. If runtime behavior changed, verify gift loading locally.\n5. Commit the source changes and regenerated v2 outputs together.\n\nThe helper rebuilds `data/dog-gifts-catalog.json`, validates v2 catalog/preferred data, merges `data/dog-gifts-merged.json`, runs gift smoke checks, and runs `node .\\scripts\\barkday-doctor.mjs`.\n\n## Guardrail\n\n`node .\\scripts\\barkday-doctor.mjs` reports the canonical local feed path, the published Pages feed URL, the expected 182-item launch catalog size, and the deprecated status of the root legacy gift files.\n","inline_bytes":1758,"content_sha256":"b03a8fe10090684469f8c06fd7abd79ec3c5e62961ee9d98b7b083c375e3fd52"},{"path":"docs/decisions/DEC-TEMPLATE.md","size":634,"sha":"47066b214484b270995a0f1f86f6e62b5b9c1c34","media_type":"text/markdown","raw_url":"https://raw.githubusercontent.com/CandidQuality/Barkday/9e38500d723ed1e8e1ca93eb8ae821c831f1414d/docs/decisions/DEC-TEMPLATE.md","html_url":"https://github.com/CandidQuality/Barkday/blob/9e38500d723ed1e8e1ca93eb8ae821c831f1414d/docs/decisions/DEC-TEMPLATE.md","inline_state":"full","max_inline_text_bytes":614400,"max_inline_bin_bytes":204800,"preview_text_bytes":65536,"encoding":"utf8","content":"# Decision Record: DEC-YYYYMMDD-XX-short-title\n\nDate: YYYY-MM-DD\nChange ID: DEC-YYYYMMDD-XX\nBranch: change/...\n\n## Goal\n\n(What problem are we solving?)\n\n## Intended outcome\n\n(What should be true after this change? Be specific.)\n\n## Plan summary\n\n(Short plan, bullets are fine.)\n\n## Files changed\n\n- file1\n- file2\n\n## Verification run\n\nCommands executed:\n\n- powershell -NoProfile -ExecutionPolicy Bypass -File tools/verify.ps1\n\nResults:\n\n- PASS/FAIL\n- Notes (if any)\n\n## Rollback plan\n\n(How to revert if wrong.)\n\n- git revert COMMIT_SHA\nor\n- git reset --hard COMMIT (only if not pushed)\n\n## Notes\n\n(Anything important for future you.)\n","inline_bytes":634,"content_sha256":"93a99b4567e1e2f0af874e0a7cd0e13844ffa83dd17ee75fcaff93097b446812"},{"path":"docs/principles/guardian-education-and-veterinary-guidance.md","size":3105,"sha":"3281ba5bce1447ca20fe31bb570aae5fa2dd2a96","media_type":"text/markdown","raw_url":"https://raw.githubusercontent.com/CandidQuality/Barkday/9e38500d723ed1e8e1ca93eb8ae821c831f1414d/docs/principles/guardian-education-and-veterinary-guidance.md","html_url":"https://github.com/CandidQuality/Barkday/blob/9e38500d723ed1e8e1ca93eb8ae821c831f1414d/docs/principles/guardian-education-and-veterinary-guidance.md","inline_state":"full","max_inline_text_bytes":614400,"max_inline_bin_bytes":204800,"preview_text_bytes":65536,"encoding":"utf8","content":"# Guardian Education and Veterinary Guidance Principle\n\nLast updated: 2026-05-04\n\nThis document captures a core Barkday principle for health, wellness, training, and care content.\n\nBarkday is not a veterinary diagnostic tool. It does not diagnose conditions, prescribe treatment, replace a veterinarian-client-patient relationship, or tell guardians to ignore qualified veterinary care.\n\nAt the same time, Barkday should not train guardians to be passive. The app exists partly to help people become more informed, observant, and prepared advocates for their dogs.\n\n## Core Position\n\nBarkday provides general education and planning support. It helps guardians notice patterns, understand breed and life-stage risks, track changes, ask informed questions, and seek qualified veterinary guidance or a second opinion when something does not seem right.\n\nThe intended balance is:\n\n- Do not diagnose.\n- Do not prescribe.\n- Do not claim certainty where evidence is limited.\n- Do not imply that all veterinary advice is automatically correct.\n- Do encourage observation, documentation, informed questions, and appropriate professional care.\n- Do normalize seeking a second opinion when symptoms, explanations, or treatment response do not match what the guardian is seeing.\n\n## Preferred Content Pattern\n\nUse wording that helps guardians observe and communicate clearly.\n\nPreferred style:\n\n- \"Track changes in appetite, mobility, stool, breathing, energy, or comfort, and bring clear notes to a qualified veterinarian.\"\n- \"Ask your veterinarian whether screening is appropriate for your dog's age, breed, history, and symptoms.\"\n- \"If the explanation or treatment plan does not match what you are seeing, consider a qualified second opinion.\"\n- \"Keep simple notes on when the issue started, what changed, and what improves or worsens it.\"\n\nAvoid wording that sounds like Barkday is diagnosing or prescribing.\n\nAvoid:\n\n- \"This means your dog has...\"\n- \"Treat this with...\"\n- \"Give your dog...\"\n- \"This will prevent...\"\n- \"Your vet knows best\" as a blanket statement.\n- \"Just ask your vet\" as a substitute for useful education.\n\n## Veterinary Guidance Standard\n\nReferences to veterinarians should be respectful but not blindly deferential.\n\nGood Barkday wording should encourage guardians to work with qualified professionals while also helping them understand enough to notice when a concern deserves clearer answers, follow-up testing, or a second opinion.\n\nThe app should help users prepare better questions, such as:\n\n- What signs should I monitor?\n- What would make this urgent?\n- What are the common breed or age-related risks?\n- What test would confirm or rule out the concern?\n- What side effects or warning signs should I watch for?\n- When should I seek a second opinion?\n\n## Launch Content Rule\n\nBefore release, public health, wellness, nutrition, exercise, senior-care, and behavior guidance should be reviewed against this principle.\n\nThe goal is not to weaken the content. The goal is to make it educational, careful, and useful without crossing into diagnosis, prescription, or unsupported certainty.","inline_bytes":3105,"content_sha256":"f7267761e80661565eb434cc48a647fe54099fe103155e582a7b74254deb612b"},{"path":"docs/roadmap/barkday-continuity-roadmap.md","size":10808,"sha":"b9d9f7ccd07566ff4d5a5e40cecbd6d71316fa8b","media_type":"text/markdown","raw_url":"https://raw.githubusercontent.com/CandidQuality/Barkday/9e38500d723ed1e8e1ca93eb8ae821c831f1414d/docs/roadmap/barkday-continuity-roadmap.md","html_url":"https://github.com/CandidQuality/Barkday/blob/9e38500d723ed1e8e1ca93eb8ae821c831f1414d/docs/roadmap/barkday-continuity-roadmap.md","inline_state":"full","max_inline_text_bytes":614400,"max_inline_bin_bytes":204800,"preview_text_bytes":65536,"encoding":"utf8","content":"# Barkday Continuity Roadmap\n\nLast updated: 2026-05-04\n\nThis note reconciles the current Barkday direction with older master notes and project notes. It is a continuity guide, not a full master-note replacement and not an implementation plan.\n\n## Current Baseline\n\n- Barkday is app-first: the core value is the calculator, Bark Day planning, care guidance, training, enrichment, and a positive celebratory experience.\n- GitHub Pages is staging/testing and the current public hosting path.\n- The v2 gift feed is canonical. See `docs/decisions/DEC-20260504-01-v2-gift-runtime-feed.md`.\n- Approved-only gift display is present. Missing `publishStatus` must not make bulk/API candidates visible.\n- API and bulk product output is candidate inventory, not live recommendation inventory.\n- Gift recommendations are optional and additive. They must not displace Barkday's core care, training, enrichment, life-stage, and bonding purpose.\n- Barkday(TM) name/trademark baseline is documented in `README.md` and maintainer notes.\n\n## Gift and Affiliate System\n\n- V2 gifts are canonical. Root `dog-gifts.json` remains legacy compatibility only.\n- Gift source should remain rebuildable from v2 source inputs into `data/dog-gifts-catalog.json` and `data/dog-gifts-merged.json`.\n- Candidate rows should remain `review`, `draft`, or `retired` until explicitly promoted to `approved`.\n- Amazon Associates, PA-API, Chewy links, Amazon storefront options, and other affiliate/store paths remain compliance-sensitive topics.\n- Affiliate disclosure must remain clear and near gift surfaces before affiliate interaction.\n- Do not fetch new product data or add products without routing through the candidate and curation pipeline.\n\n## Paid Model - On Hold\n\n- Older notes describe Plus, Pro, Breeder, Cloudflare Worker/KV, JWT, Stripe, Play Billing, premium JSON, dog-count limits, litter mode, and abuse controls.\n- Treat those paid-tier notes as future reference, not current marching orders.\n- Paid implementation is paused until affiliate/program compliance, app-store policy, user-trust, and launch-timing concerns are resolved.\n- Do not plan or implement Plus/Pro/Breeder gates in the next development cycle.\n- Do not move proprietary JSON, add license checks, add payment endpoints, or add premium data loaders as the next active implementation path.\n- The old paid-tier architecture may still be useful later if Barkday has a stable free launch, clear policy review, and a durable value proposition for heavy users.\n\n## Affiliate and Monetization Compliance Gate\n\n- Open question: whether Amazon affiliate links remain safe if the app later becomes paid, partially paid, or gated in any way.\n- Current conservative assumption: affiliate links remain optional, clearly disclosed, and not hidden behind a paywall.\n- Before paid work resumes, review current official Amazon Associates/PA-API rules, Google Play policy, and Apple App Store policy.\n- Avoid monetization structures that risk Amazon demonetization, app-store rejection, misleading affiliate placement, or user trust damage.\n- Long-term income must be compliant and durable, not a quick launch shortcut.\n- Partner perks or discounts may be considered later, but gift access itself should remain public unless policy review explicitly supports a different approach.\n\n## PA-API and Official API Parking Lot\n\n- The official Amazon API path has been explored conceptually.\n- Secrets and signing material must stay server-side. The public app shell must not call Amazon APIs directly.\n- PA-API output should feed candidate generation and local/server-side curation, not direct display.\n- Future work should connect PA-API `SearchItems`/`GetItems` outputs to the candidate pipeline and preserve ASIN, affiliate URL, source title, and source features for traceability.\n- Rate limits, content freshness, image/content caching, and offer display rules must be solved before any Amazon-enriched runtime data is shown.\n\n## Launch Strategy Parking Lot\n\n- Current leaning: launch free or free-to-try first if paid work would double the launch window.\n- Paid model may later focus on breeders, designers, trainers, multi-dog households, or heavy users who receive real value.\n- Barkday certificate printing remains a positive hook and a potential free-advertising mechanism.\n- The certificate angle should feel celebratory and useful, not extractive.\n- GitHub Pages can continue serving as staging/testing while production origin, app links, service worker scope, and wrapper behavior are verified deliberately.\n\n## Aging Model and Bark Day Logic\n\n- The current baseline is the 15/9 model: about 15 Bark Days in the first human year and 9 in the second.\n- Existing weight/size-aware curves and smoothing remain baseline until a specific curve task starts.\n- Older aging-model notes preserve useful future ideas: post-24-month breed modifiers, size scaling, curve registry, piecewise overrides, and breed-specific curve labels.\n- Future curve work should support:\n - default 15/9 curve behavior\n - weight or size scaling\n - post-24-month breed modifiers\n - a small curve registry such as `curves.json`\n - future breed-specific curve overrides when evidence is strong\n- Do not implement curve registry, Labrador overrides, or taxonomy `age_rate`/`size_scale` fields until scoped as a separate data/model task.\n\n## Mixed-Breed DNA and Breed Logic Parking Lot\n\n- Mixed-breed support should start with the top three breed percentages, not an unbounded breed list.\n- Embark/Wisdom-style paste parsing is future work and should include manual review/correction before applying recommendations.\n- Weighted logic should consider size, age-rate, energy, chew tendency, health, training, exercise, care, and enrichment guidance.\n- Designer/companion hybrid cohort work is separate from DNA-mix mode:\n - designer/hybrid cohort can use curated known breed-group content\n - DNA-mix mode should weight user-provided breed percentages\n- Breed group and top-breed data should support recommendations without replacing the calculator baseline.\n- Mixed-breed DNA work remains planned until data shape, safety text, UI review, and launch priorities are settled.\n\n## Non-Gift Launch Content\n\nBefore a release candidate, review non-gift recommendation content for:\n\n- health and wellness\n- training and enrichment\n- diet and nutrition\n- exercise needs\n- play and bonding\n- helpful gear\n- age and life-stage messaging\n\nThis content needs safety review. Barkday should frame recommendations as general guidance only, not veterinary advice, diagnosis, treatment, or guaranteed outcomes.\n\n### Guardian Education Principle\n\nSee `docs/principles/guardian-education-and-veterinary-guidance.md`.\n\nBarkday does not diagnose, prescribe, or replace veterinary care. It should help guardians observe patterns, track changes, ask informed questions, and seek qualified veterinary guidance or a second opinion when symptoms, explanations, or treatment response do not make sense.\n\nHealth and care guidance should stay practical and empowering without reducing every recommendation to passive \"ask your vet\" language.\n\n## Deployment and Protected Data\n\n- Private, premium, or protected data should not live in the public repository or shipped app shell.\n- Public runtime data can be remotely fetched, but proprietary overlays should stay behind a protected endpoint if they are ever created.\n- The app-store wrapper path still needs readiness testing, including external opening behavior for affiliate links, production domain/scope alignment, and store policy review.\n- Do not treat old paid-hosting notes as permission to start production backend work before policy and launch sequencing are resolved.\n\n## Historical or Superseded Findings\n\nTreat these as verify-only unless current symptoms remain:\n\n- old raw gift-feed findings from before the v2 runtime feed decision\n- old chewer enum bug and `strong`/`power` mismatch\n- old service-worker JSON cache warning\n- old affiliate disclosure warning\n- broken button fixes\n- dog age calculator fixes\n- data update checks\n- popup modal/result UI work\n- calendar notification improvements\n- chart value and milestone comparison questions\n- custom 404 image handling\n- save-result button necessity and placement\n- slider usability adjustments\n- markdown/readme cleanup topics\n\nIf symptoms recur, reproduce against current `main` and fix the current code path rather than reapplying old chat snippets.\n\n## Next Recommended Stages\n\n1. Finish and freeze the gift curation gate.\n2. Inventory all runtime data and classify each source as public, candidate, generated, protected, or legacy.\n3. Classify public versus protected content before adding premium/proprietary overlays.\n4. Clean and safety-review non-gift launch content.\n5. Plan the mixed-breed DNA feature around explicit input shape and weighted recommendation rules.\n6. Review affiliate/app-store policy before paid model work resumes.\n7. Verify wrapper/store behavior against the intended production origin.\n8. Prepare a release candidate with validation, local browser checks, and deployment-path checks.\n\n## Older Notes Status\n\n- `docs/Master_Note_v0_Barkday_Aging-Model_Integration_Master_Note.md`: useful future aging-model reference; not active scope.\n- `docs/Master_Note_v1—Designer_Companion_Hybrid_Cohort.md`: useful designer/hybrid reference; separate from DNA-mix mode.\n- `docs/Master_Note_v2—Paid_Tier_&_Hosting_Gate_(Single_Codebase).md`: paid-tier reference only; on hold.\n- `docs/Master_Note_v3—Monetization_Limits_&_Abuse_Prevention.md`: monetization/limits reference only; on hold.\n- `docs/Barkday_MASTER-NOTE_v2025-10-09-1.md`: broad historical master note; some paid/API sections are superseded by this on-hold guidance.\n- `docs/Data expansion plan.md`: valuable data governance and launch-content guidance; still useful.\n- `docs/barkday_code_review_2025-10-26.md`: historical review; verify findings only against current symptoms.\n- `docs/principles/guardian-education-and-veterinary-guidance.md`: core wording standard for health, care, training, and wellness content.\n\n## Resume Point\n\n## Next Recommended Stages\n\n1. Confirm the gift curation gate remains stable during normal validation.\n2. Inventory all runtime data and classify each source as public, candidate, generated, protected, or legacy.\n3. Classify public versus protected content before adding premium/proprietary overlays.\n4. Clean and safety-review non-gift launch content.\n5. Plan the mixed-breed DNA feature around explicit input shape and weighted recommendation rules.\n6. Review affiliate/app-store policy before paid model work resumes.\n7. Verify wrapper/store behavior against the intended production origin.\n8. Prepare a release candidate with validation, local browser checks, and deployment-path checks.\n","inline_bytes":10802,"content_sha256":"da5175717d900f2b12450146a12f27b114c7dcfdce0bb85c157a187be24548d3"},{"path":"docs/roadmap/non-gift-runtime-data-inventory.md","size":9080,"sha":"66d9a3c22b4b4bd07fad5d8e0467ed1f9fc611f1","media_type":"text/markdown","raw_url":"https://raw.githubusercontent.com/CandidQuality/Barkday/9e38500d723ed1e8e1ca93eb8ae821c831f1414d/docs/roadmap/non-gift-runtime-data-inventory.md","html_url":"https://github.com/CandidQuality/Barkday/blob/9e38500d723ed1e8e1ca93eb8ae821c831f1414d/docs/roadmap/non-gift-runtime-data-inventory.md","inline_state":"full","max_inline_text_bytes":614400,"max_inline_bin_bytes":204800,"preview_text_bytes":65536,"encoding":"utf8","content":"# Non-Gift Runtime Data Inventory\n\nLast updated: 2026-05-04\n\nThis inventory covers Barkday runtime-used and runtime-adjacent data outside the v2 gift workflow. Gift catalog data, raw Amazon data, and gift curation outputs are handled separately by the v2 gift stabilization path.\n\nHealth, training, nutrition, exercise, care, and enrichment content must remain framed as general guidance only, not veterinary advice.\n\n## Classification Key\n\n- public runtime data: fetched or used by the public app shell today.\n- generated/public output: generated or shipped output that can be public if source and content review are acceptable.\n- candidate/source input: input material for future generation or editorial review, not a live recommendation source.\n- protected/proprietary future data: planned premium or proprietary data that must not be bundled into the public app shell.\n- legacy/historical: older data or code retained for reference or compatibility.\n- unknown/needs review: role or safety is not clear enough to treat as launch-ready.\n\n## Runtime Fetch Map\n\n| Loader or constant | Path | Current role | Notes |\n| --- | --- | --- | --- |\n| `app.js` `BREED_GROUPS_URL` | `data/breed_groups.json` | Public breed group guidance and gifts tags | Active runtime fetch. |\n| `app.js` `BREED_ALIASES_URL` | `data/breed_aliases.json` | Breed name normalization | Active runtime fetch. |\n| `app.js` `TAXONOMY_URL` | `data/breed_taxonomy.json` | Breed-to-group taxonomy | Active runtime fetch. |\n| `app.js` `RECO_BREED_URL` | `data/reco-breed.json` | Breed-specific recommendation lanes | Active runtime fetch. |\n| `app.js` `RECO_BANDED_URL` | `data/reco-banded.json` | Older banded recommendation source | Active fetch, but current shape appears legacy for the loader. |\n| `app.js` `GROUP_RULES_URL` | `data/rules_group_defaults.json` | Group/life-stage recommendation fallbacks | Active runtime fetch. |\n| `app-curves-inline.js` `CURVES_URL` | `data/curves.json` | Barkday curve schedule data | Active runtime fetch. |\n| `app.js` `PREMIUM_BASE` | `/premium/plus_overlays.json`, `/premium/puppy_24band_deltas.json` | Future premium overlays | Not active without a token; must remain protected/future. |\n| `js/runtime-fetch.js` | generic fetch helper | Runtime data fetch utility | Public shell helper; not content by itself. |\n\n## Inventory\n\n| Source | Current role | Classification | Launch relevance | Review needed | Safe public for launch? | Notes and risks |\n| --- | --- | --- | --- | --- | --- | --- |\n| `data/breed_aliases.json` | Breed alias map used for input normalization | public runtime data | High | Low | Yes, if intended public | Includes dataset/license metadata. Review alias accuracy and avoid surprising canonicalization. |\n| `data/breed_taxonomy.json` | Breed taxonomy and group mapping | public runtime data | High | Medium | Yes, if intended public | Review breed-to-group accuracy before launch; supports recommendations and future mixed-breed weighting. |\n| `data/breed_groups.json` | Breed group traits, enrichment, tips, cautions, gift tags | public runtime data | High | High | Yes, after content review | Contains care/training/enrichment guidance. Needs safety and tone review for general-guidance framing. |\n| `data/rules_group_defaults.json` | Runtime group/life-stage fallback recommendation rules | public runtime data | High | High | Yes, after content review | Contains health, nutrition, exercise, bonding, gear lanes. Metadata references upgrade-oriented positioning, which should be reconciled with paid work being on hold. |\n| `data/reco-breed.json` | Runtime breed-specific recommendation lanes | public runtime data | High | High | Yes, after content review | Large public recommendation source with copyright/license metadata. Review health, training, diet, exercise, and care wording. |\n| `data/reco-banded.json` | Older banded recommendation data | legacy/historical | Low | Medium | Yes, but not launch-critical | Still fetched, but the current loader appears to rely on `rules_group_defaults.json` for group fallbacks. Keep as verify-only unless symptoms remain. |\n| `data/rules_library.json` | Broader rules library source with defaults, rules, overrides, and auxiliary data | candidate/source input | Medium | High | Not as live runtime data yet | Useful source material, but not fetched by the app today. Requires editorial and safety review before any runtime promotion. |\n| `data/reco-barkday-banded.json` | Bark Day banded group recommendation source | candidate/source input | Medium | High | Not as live runtime data yet | Could support future Bark Day-specific recommendations. Needs review before wiring. |\n| `data/trait-inserts-barkday.json` | Trait-specific inserts for Bark Day guidance | candidate/source input | Medium | High | Not as live runtime data yet | Contains sensitive trait guidance such as brachy, giant growth, coat care, and sensitivity notes. Treat as general guidance only and review carefully. |\n| `data/universal-puppy-barkday.json` | Puppy-stage Bark Day guidance | candidate/source input | Medium | High | Not as live runtime data yet | Puppy socialization, health, and training guidance needs safety review before launch use. |\n| `data/proposed_rules_from_gaps.json` | Proposed rule coverage from data gaps | candidate/source input | Low | High | No | Auto-proposed material only; do not display without curation. |\n| `data/curves.json` | Active Barkday curve registry data | public runtime data | High | Medium | Yes | Review model assumptions, source notes, and size-scaling behavior before release candidate freeze. |\n| `data/curves-1.json` | Alternate or older curve registry data | legacy/historical | Low | Medium | Unknown | Not the active runtime URL. Keep for comparison only unless deliberately promoted. |\n| `app-curves-inline.js` | Loads `data/curves.json` and exposes curve helpers | generated/public output | High | Medium | Yes | Public shell curve loader. Any model changes should stay data-driven and validated against core calculator behavior. |\n| `js/barkday-curves.js` | Curve helper module | generated/public output | Medium | Medium | Yes | Present as a helper module; verify whether it is still part of the active runtime path before changing. |\n| `milestones_dog_barkdays_1_95-1.json` | Root-level Barkday milestone guidance from 1-95 | unknown/needs review | Medium | High | Unknown | Contains training and care guidance. Not clearly wired in current runtime; review before any use. |\n| `app.js` calendar/reminder generation | Builds calendar text and reminder links from current result | public runtime data | Medium | Medium | Yes | No separate data file. Review wording and privacy expectations for generated reminder text. |\n| `app-pdf.js` certificate/PDF content | Certificate add-on code and generated certificate text | legacy/historical | Medium | Medium | Yes if deliberately enabled | Disabled in `index.html` today. Contains external CDN and QR fallback paths that need review before re-enabling. |\n| `manifest.json` | Public app metadata for install/wrapper behavior | public runtime data | Medium | Low | Yes | Public shell metadata, not guidance content. Keep aligned with launch naming and domain decisions. |\n| `/premium/plus_overlays.json` | Future Plus overlay placeholder path | protected/proprietary future data | Future | High | No | Must stay remote/protected if implemented. Paid tier is on hold. |\n| `/premium/puppy_24band_deltas.json` | Future puppy premium delta placeholder path | protected/proprietary future data | Future | High | No | Must stay remote/protected if implemented. Do not bundle into public shell. |\n| `data/pending-items.json` | Pending gift item source | candidate/source input | Gift-only | High | No | Gift workflow only; included here only to mark out of scope for non-gift launch content. |\n| `data/raw-amazon/*` | Raw affiliate/API evidence and candidate source files | candidate/source input | Gift-only | High | No | Gift workflow only. API/bulk product output remains candidate inventory, not live recommendations. |\n\n## Launch Review Priorities\n\n1. Review active public recommendation text in `data/breed_groups.json`, `data/rules_group_defaults.json`, and `data/reco-breed.json` for health, nutrition, training, exercise, care, and enrichment safety.\n2. Reconcile upgrade-oriented wording in `data/rules_group_defaults.json` with the current paid-model hold.\n3. Decide whether `data/reco-banded.json`, `data/curves-1.json`, `js/barkday-curves.js`, and `milestones_dog_barkdays_1_95-1.json` are historical, active, or future source material.\n4. Keep all `/premium/` overlay data remote and protected if that path resumes later.\n5. Treat PDF/certificate behavior as a separate launch-readiness review because it can involve external libraries, QR generation, certificate wording, and wrapper behavior.\n\n## Recommended Next Stage\n\nWith the gift curation gate in place, do a focused non-gift content safety pass on the active public runtime sources before adding mixed-breed DNA logic, paid-tier behavior, or protected overlays.\n","inline_bytes":9080,"content_sha256":"61d6daabbc082bb0218ada9a4b2bd4c355a17bc9382d4791da675fe8b7babf63"}]}