Skip to content

Optional Daily Task installation and update

This is an opt-in package for Full receivers, separate from the standard tooling manifest. No executable, service, registry or historical-record migration is required. Existing local Daily skills/forms are project-owned until actual source/authority evidence proves otherwise.

Source and receiver map

Pin one authorized Git tag/commit; record full SHA, VERSION and source locator. Resolve every row from that same immutable tree, never a mixture of live HEAD and staged payload. Initial local proof may use an explicitly labelled content-addressed snapshot of all rows; it proves mechanics, not a released Git payload. Accepted distribution uses the returned immutable Candidate or release ref.

Pinned source Receiver target Selection
.tfw/extensions/daily-task/SKILL.md same path canonical semantics
.tfw/extensions/daily-task/templates/task.md same path new-record default; classify local form first
.tfw/extensions/daily-task/installation.md same path tooling-only contract
.tfw/extensions/daily-task/entries/codex/SKILL.md same path Codex entry source
.tfw/extensions/daily-task/entries/claude-code/SKILL.md same path Claude entry source
.tfw/extensions/daily-task/entries/codex/SKILL.md .agents/skills/tfw-daily-task/SKILL.md explicit Codex opt-in
.tfw/extensions/daily-task/entries/claude-code/SKILL.md .claude/skills/tfw-daily-task/SKILL.md explicit Claude opt-in
.tfw/economics/README.md same path required numeric contract
.tfw/economics/tfw_economics.py same path required capture/receipt/report helper
.tfw/economics/record.schema.json same path unchanged v1 schema
.tfw/economics/rates.json same path dated reference prices
.tfw/templates/economics.md same path concise/final report model

Daily capture's common numeric dependency does not opt into Daily beyond its actual receiving authority. Economics is standard, while Daily discovery remains optional. Classify shared numeric dependencies once under the core migration/update group; refuse dependent writes on unresolved customization. Preserve compatible selected rate cards with actual epoch/hash, public home observations and task-owned used quotes; framework updates never rewrite them. No helper availability gate is added to ordinary Full lifecycle or authorized Daily product work; unavailable capture must leave a truthful outcome.

Dormant canonical payload may travel with Full .tfw/; it is not opt-in or native discovery. Existing receiver payload paths still require ownership/customization classification before generic Full copying, even without opt-in; dormancy never authorizes overwriting a local source or form. Without opt-in, create no Daily discovery target. Only selected Codex/Claude targets are installed; never add Daily as a .claude/commands/ route or add a manifest record. This repository explicitly selects both self-receivers. Thin targets must be byte-identical to their declared entry sources.

Before any connected-group write

  1. Read the current receiving instructions, selected entry targets, canonical source/form and relevant existing preservation/update receipt. Discover opt-in only from explicit current authority or a verified prior package installation/receipt, not an unrelated custom skill or mere path existence.
  2. Compare old installed bytes with the immutable prior source cited by provenance/receipt and the authorized new target. Classify each as absent, verified package-owned, selected local form, customized or ambiguous. Record hashes, source/ref, authority, intended action and reason.
  3. Preserve project history, unrelated files, unselected entries, local split and chosen local form. A template update changes future creation only. A known project-selected customized template may remain at its current path when its semantics are compatible; record PRESERVED and its hash. Do not silently replace it with upstream bytes or declare it byte-parity with upstream.
  4. A customized/ambiguous canonical skill or discovery entry, conflicting template ownership or incompatible selected form refuses the whole connected Daily package before writes. A template preservation choice must be backed by current project instructions/authority. Route only the missing choice; independent Full groups may proceed. Use existing content-addressed preservation attachments and immutable update receipt where replacement is actually authorized; invent no ownership registry.

Apply, verify, report

Install the coherent canonical/source rows and only selected discovery rows after classification. For update, retain the verified selected adapters; a new adapter requires explicit opt-in. Read entry bytes at the real receiving root and resolve the canonical path there. Compare source/target bytes, fixed Full command/role set, unchanged old records/local forms and foreign neighbors; repeat the accepted operation and require no unintended diff. A refusal leaves the connected package's before-images intact. Existing Full install/update/config checks examine exact manifest records; separately validate selected optional rows, never excuse an unknown extra route as Daily.

Report source-present, installed, filesystem-reproduced and actual native invocation separately. A live Claude host may be unavailable; do not promote a filesystem proof to Claude behavior. Record applied/preserved/refused paths, before/after hashes, source coherence, checks and next authority in the existing installation result or update receipt. Local finite evidence is not a second live state registry. Real field installation/distribution is a separate authorized action.