Skip to content

[þing-01] Kill the implicit ensemble-dotenv borrow; entry validation per D6 #134

Closed

Description

@Polichinel

Context: the platform's Appwrite-seam identity/config was folk knowledge — one unowned laptop .env as origin, one all-powerful key, and misconfiguration that silently succeeds into phantom storage. The ratified verdict fixes this via one contract ADR (PLATFORM-001), one owned coordinates registry file, declared classification, three credential tiers, and raise-by-default failure semantics.

Do (orð_09 §4 commitment — declared meanwhile, killed on this issue): delete load_dotenv(dotenv_path=str(self.ensemble_path_manager.dotenv)) (unfao.py:180) — the runtime edge of the copy-chain. The launcher (views-models M3) becomes explicitly responsible for the environment; this manager's entry validates the required names fail-loud (à la the registry preflight), naming every missing variable. Ordered: registry exists (A3) → M3 merged (launcher declares) → this lands. Cross-ref models #280 retargeting.

Part of þing-01 — the platform Identity/Secrets/Configuration verdict, ratified as amended
2026-07-28 (sign-off: Simon Polichinel von der Maase, who is also the named operator).
Canonical record (local): views_platform/þingit/01_identity_secrets_config/ — orð_dómr.md
as amended by dómr_endurmat.md; plain-language summary in final_decision.md.

🤖 Generated with Claude Code

Activity

  1. added 2 commits that reference this issue on Jul 28, 2026
  2. Polichinel commented on Jul 28, 2026

    @Polichinel
    CollaboratorAuthor

    Done — PR #137 (merged into development). The borrow (load_dotenv at old unfao.py:180, þing-01 copy-chain edge S6ii) is dead: import + call deleted. New unfao/appwrite_env.py declares the required names (PLATFORM-001 registry connection+target classes + the one operator secret slot) and assert_env_declared() raises naming every missing variable — called before all three AppwriteConfig constructions. Prerequisite honored: views-models M3/#287 merged first (run.sh reads the registry; transitional .env fallback stays until #280 retires it). 7 guards incl. borrow-is-dead source scan, declaration↔use drift, and the D3 naming rule. This closes my orð_09 §4 commitment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions