ProPharma Unified Build

For machines

This portal exists to keep humans and AI on task. Everything a person can read here, an agent can fetch as Markdown or JSON at a stable URL.

Entry points

URLFormatWhat it is
/llms.txttext/plainStart here. Every document with its Markdown URL, grouped by category. Follows the llms.txt convention.
/api/index.jsonJSONThe manifest: every document with id, title, category, source path, SHA-256, size and modification time, plus the endpoint table.
/api/status.jsonJSONBuild progress derived from the repo, with the evidence for each figure and an explicit caveat that counts are not completeness.
/api/decisions.jsonJSONDecision log: constraints, recorded rulings, closed questions and open decisions, each with its source.
/api/freshness.jsonJSONAge of every source against its policy, and an overall status of OK / STALE / DEGRADED / BROKEN.
/api/docs/{id}.jsonJSONOne document: metadata, heading outline, and the full Markdown text.
/d/{id}.mdtext/markdownThe raw source Markdown, byte for byte.

Identifiers

An id looks like knowledge/compliance-arcos-dea-export-design: the category, then a slug of the path the document occupies in its source repository. Ids are derived from location, never from a title or a position in a list, so a bookmarked URL survives the document being retitled or the index being reordered.

Reading order for an agent picking this project up cold

  1. https://unified.propharmausa.com/llms.txt — what exists.
  2. https://unified.propharmausa.com/d/charter/charter.md — goals, method, hard constraints, and the closed questions that must not be reopened.
  3. https://unified.propharmausa.com/api/status.json — what is actually built, with evidence.
  4. https://unified.propharmausa.com/api/decisions.json — what was already settled, and by whom.
  5. https://unified.propharmausa.com/api/freshness.json — whether any of the above is old enough to distrust.

Guarantees, and the one thing that is not guaranteed

Authentication

The site sits behind Microsoft Entra SSO on Azure Static Web Apps, restricted to named principals. A machine client needs an authenticated session; there is no anonymous read and no API key. If you are an agent running as a person, use their session. If you need service access, ask for a dedicated principal rather than sharing a human's.