ipfs.kane-il.us/CONVENTIONS.md

6.3 KiB

ipfs.kane-il.us — Content & Path Conventions

0. Scope

  • Public-only repository for IPFS gateway publishing.
  • Text formats only: *.md, *.txt, *.jsonl.
  • No binaries (pdf, images, video, archives) — describe them in markdown for accessibility.
  • All timestamps are UTC.

1. Top-level categories (roots)

/legal
/civics
/naics
/barter
/w3pbs
/onet
/_log          # public minimal publish log

2. Naming rules (files & dirs)

  • Lowercase, ASCII, underscores for word separators.
  • Filenames must start with digits-only ISO UTC timestamp:
    • YYYYMMDDThhmmssZ_<slug>.md (e.g., 20250828T132200Z_order_summary.md)

3. Immutability

  • No “latest” aliases, no mutable pointers.
  • No per-directory index files; rely on gateway directory listing.
  • Every publish is additive; removals are exceptional (court/admin error).

4.1 research (jurisdiction-first, typed entities)

Path template:

/legal/research/{scope}/{segment}/{subject}/...
  • scope ∈ {county|town|township|individual|organization}
  • If scope=organization or individual, use typed entity layering:
    /legal/research/{scope}/{kind}/{name}/{subject}/...
    kind ∈ {governance|economic|domestic|technical|infrastucture|virtual}
    
  • Otherwise:
    /legal/research/{scope}/{jurisdiction_name}/{subject}/...
    

Examples:

/legal/research/county/kane/hoa_governance/20250828T131010Z_summary.md
/legal/research/organization/governance/abc_hoa/dues_policy/20250828T131200Z_notes.md

4.2 court → cases

Path template:

/legal/court/{court_id}/{case_id}/(filings|evidence|orders|docket|notes|transcripts|exhibits)/
  • court_id will follow Kane County authoritative naming.
  • case_id sanitized to lowercase/underscores; original case identifier stored inside the markdown.

5. Other categories

  • civics/: governance, policy, licenses, standards → plain markdown.
  • naics/: subdirectories by NAICS code (e.g., /naics/541611/...).
  • barter/: web2py assets and git-oriented text/config (no binaries).
  • w3pbs/: mailing lists, streaming, chat, forums; html/gemini as text or markdown summaries.
  • onet/: ONET taxonomy (latest), directory names derived from current ONET categories.

6. Publish log (public, minimal)

  • Location: /_log/publish.jsonl
  • One JSON object per line with fields:
    • utc (ISO 8601 UTC string), repo, commit, tag (if any),
    • manifest_cid, paths (array), signature (GPG/SSH-sig).
  • Past entries retained forever.

7. Guardrails (deny)

  • Private/staging content never enters this repo.
  • Deny common tool dirs: .git/, .github/, .vscode/, caches, temp files.
  • Deny binaries by extension (see .gitignore).

8. Accessibility

  • For any non-text source (e.g., a PDF elsewhere), store a descriptive .md:
    • what it is, where it exists, date, and an accessible summary.

9. Examples

/legal/research/county/kane/zoning/20250828T140000Z_buffer_requirements.md
/legal/court/il_kane_circuit/23_ch_000123/filings/20250828T142500Z_plaintiff_motion.md
/naics/541611/20250828T150000Z_procurement_policy.md
/onet/architecture_and_engineering/20250828T160000Z_job_function_overview.md

ipfs.kane-il.us — Content & Path Conventions

0. Scope

  • Public-only repository for IPFS gateway publishing.
  • Text formats only: *.md, *.txt, *.jsonl.
  • No binaries (pdf, images, video, archives) — describe them in markdown for accessibility.
  • All timestamps are UTC.

1. Top-level categories (roots)

/legal
/civics
/naics
/barter
/w3pbs
/onet
/_log          # public minimal publish log

2. Naming rules (files & dirs)

  • Lowercase, ASCII, underscores for word separators.
  • Filenames must start with digits-only ISO UTC timestamp:
    • YYYYMMDDThhmmssZ_<slug>.md (e.g., 20250828T132200Z_order_summary.md)

3. Immutability

  • No “latest” aliases, no mutable pointers.
  • No per-directory index files; rely on gateway directory listing.
  • Every publish is additive; removals are exceptional (court/admin error).

4.1 research (jurisdiction-first, typed entities)

Path template:

/legal/research/{scope}/{segment}/{subject}/...
  • scope ∈ {county|town|township|individual|organization}
  • If scope=organization or individual, use typed entity layering:
    /legal/research/{scope}/{kind}/{name}/{subject}/...
    kind ∈ {governance|economic|domestic|technical|infrastucture|virtual}
    
  • Otherwise:
    /legal/research/{scope}/{jurisdiction_name}/{subject}/...
    

Examples:

/legal/research/county/kane/hoa_governance/20250828T131010Z_summary.md
/legal/research/organization/governance/abc_hoa/dues_policy/20250828T131200Z_notes.md

4.2 court → cases

Path template:

/legal/court/{court_id}/{case_id}/(filings|evidence|orders|docket|notes|transcripts|exhibits)/
  • court_id will follow Kane County authoritative naming.
  • case_id sanitized to lowercase/underscores; original case identifier stored inside the markdown.

5. Other categories

  • civics/: governance, policy, licenses, standards → plain markdown.
  • naics/: subdirectories by NAICS code (e.g., /naics/541611/...).
  • barter/: web2py assets and git-oriented text/config (no binaries).
  • w3pbs/: mailing lists, streaming, chat, forums; html/gemini as text or markdown summaries.
  • onet/: ONET taxonomy (latest), directory names derived from current ONET categories.

6. Publish log (public, minimal)

  • Location: /_log/publish.jsonl
  • One JSON object per line with fields:
    • utc (ISO 8601 UTC string), repo, commit, tag (if any),
    • manifest_cid, paths (array), signature (GPG/SSH-sig).
  • Past entries retained forever.

7. Guardrails (deny)

  • Private/staging content never enters this repo.
  • Deny common tool dirs: .git/, .github/, .vscode/, caches, temp files.
  • Deny binaries by extension (see .gitignore).

8. Accessibility

  • For any non-text source (e.g., a PDF elsewhere), store a descriptive .md:
    • what it is, where it exists, date, and an accessible summary.

9. Examples

/legal/research/county/kane/zoning/20250828T140000Z_buffer_requirements.md
/legal/court/il_kane_circuit/23_ch_000123/filings/20250828T142500Z_plaintiff_motion.md
/naics/541611/20250828T150000Z_procurement_policy.md
/onet/architecture_and_engineering/20250828T160000Z_job_function_overview.md