{
  "schemaVersion": "jmpkit.field-notes-index.v1",
  "title": "JMPKit Field Notes",
  "edition": "v01-20260915T034228Z",
  "publishedAt": "2026-09-15T03:42:28Z",
  "issue": {
    "number": 1,
    "date": "2026-09-15",
    "title": "The Web, Ready When Needed",
    "record": "issues/issue-001-2026-09-15.md",
    "authors": ["JMPKit"],
    "contributors": []
  },
  "purpose": "Agent-readable design reasoning for deciding when and why JMPKit belongs in a solution.",
  "authorityBoundary": "Knowledge, not authorization and not an API contract.",
  "selectionRule": "Read only the smallest relevant note, then fetch current operational docs before acting.",
  "notes": [
    {
      "fieldNoteId": "FN-001",
      "id": "ambient-web-for-agents",
      "title": "Ambient Web for Agents",
      "path": "notes/ambient-web-for-agents.md",
      "summary": "Online capabilities can be available at the moment of need without prior user setup.",
      "useWhen": ["the agent needs to put something online", "the user has not configured infrastructure", "explaining JMPKit as a web utility"],
      "tags": ["ambient-web", "discovery", "zero-setup"]
    },
    {
      "fieldNoteId": "FN-002",
      "id": "organic-discovery-and-installed-integration",
      "title": "Organic Discovery and Installed Integration",
      "path": "notes/organic-discovery-and-installed-integration.md",
      "summary": "Direct web discovery and installed protocols such as MCP solve different entry problems and can complement one another.",
      "useWhen": ["choosing HTTP discovery or MCP", "designing agent onboarding", "the agent has not encountered JMPKit before"],
      "tags": ["http", "mcp", "llms-txt", "discovery"]
    },
    {
      "fieldNoteId": "FN-003",
      "id": "the-app-is-the-primary-object",
      "title": "The App Is the Primary Object",
      "path": "notes/the-app-is-the-primary-object.md",
      "summary": "Create the app and return its key and link before introducing optional organization.",
      "useWhen": ["creating a new app", "deciding whether to create an entity", "designing app authority"],
      "tags": ["apps", "authority", "entities", "simplicity"]
    },
    {
      "fieldNoteId": "FN-004",
      "id": "disposable-apps-when-software-becomes-cheap",
      "title": "Disposable Apps: When Software Becomes Cheap",
      "path": "notes/disposable-apps-when-software-becomes-cheap.md",
      "summary": "Cheap creation makes intent-matched lifetimes, graceful disappearance, provenance, and renewal first-class concerns.",
      "useWhen": ["choosing an app lifetime", "building for one event or group", "reasoning about abundant agent-created software"],
      "tags": ["disposable-apps", "situated-software", "lifetimes", "abundance"]
    },
    {
      "fieldNoteId": "FN-005",
      "id": "local-source-public-instance",
      "title": "Local Source, Public Instance",
      "path": "notes/local-source-public-instance.md",
      "summary": "The user retains the source while JMPKit operates a reachable online instance.",
      "useWhen": ["publishing local work", "reasoning about ownership", "planning recovery or portability"],
      "tags": ["local-source", "ownership", "publishing", "portability"]
    },
    {
      "fieldNoteId": "FN-006",
      "id": "agents-solve-needs-not-make-apps",
      "title": "Agents Solve Needs, Not “Make Apps”",
      "path": "notes/agents-solve-needs-not-make-apps.md",
      "summary": "Use an online component when it improves the person's solution rather than requiring an app-building mindset.",
      "useWhen": ["interpreting a user need", "deciding whether to make an online thing", "avoiding blank-canvas product framing"],
      "tags": ["user-intent", "solutions", "online-components"]
    },
    {
      "fieldNoteId": "FN-007",
      "id": "composition-instead-of-infrastructure-assembly",
      "title": "Composition Instead of Infrastructure Assembly",
      "path": "notes/composition-instead-of-infrastructure-assembly.md",
      "summary": "Keep the recurring web pieces together so the agent composes the result rather than repeatedly assembling providers.",
      "useWhen": ["selecting backend capabilities", "comparing JMPKit with provider stacks", "minimizing setup"],
      "tags": ["composition", "primitives", "infrastructure", "flat-design"]
    },
    {
      "fieldNoteId": "FN-008",
      "id": "pragmatic-wins",
      "title": "Pragmatic Wins",
      "path": "notes/pragmatic-wins.md",
      "summary": "Prefer the smallest understandable convention that works broadly and can evolve safely.",
      "useWhen": ["designing a new resource", "choosing a protocol", "considering feature complexity"],
      "tags": ["pragmatism", "protocols", "simplicity", "compatibility"]
    },
    {
      "fieldNoteId": "FN-009",
      "id": "the-agent-is-the-client-the-person-is-the-authority",
      "title": "The Agent Is the Client; the Person Is the Authority",
      "path": "notes/the-agent-is-the-client-the-person-is-the-authority.md",
      "summary": "Make operations easy for agents while keeping intent, permissions, cost, and consequences legible to people.",
      "useWhen": ["designing permissions", "delegating app work", "communicating actions and costs"],
      "tags": ["agents", "authority", "permissions", "human-control"]
    }
  ]
}
