~kris/dots

srice

srice/doc/abstracts/claude-projects-topical-candidates.md -rw-r--r-- 38.5 KiB
e98f3b03 — Kris Yotam chore: sync local state after restore (push updates, no pull) a month ago

#Candidate 1: Pre-Commit Gates Should Police Breakage, Not Taste

  • Source: 955478ad-f5d1-4a91-92b8-5fef6c4e6c1d.jsonl, 2026-05-12, krisyotam.com
  • Type: workflow
  • Confidence: high
  • Kris point: A pre-commit AI gate should distinguish real defects from style preferences and refuse to waste attention on cosmetic objections.
  • Abstract: The useful AI reviewer is not an all-purpose critic. Its job is narrower: broken imports, syntax errors, injection risks, XSS, missing required fields, broken URLs, removed critical code, boundary error handling, and null dereferences.

Everything else should be demoted or ignored. Style commentary, minor formatting, and unchanged typing preferences are noise at commit time. The gate earns trust by being strict where breakage matters and silent where taste belongs elsewhere.

  • Notes: Inferred from repeated krisyotam.com pre-commit prompt rules.

#Candidate 2: Output Contracts Make AI Review Useful

  • Source: 955478ad-f5d1-4a91-92b8-5fef6c4e6c1d.jsonl, 2026-05-12, krisyotam.com
  • Type: workflow
  • Confidence: high
  • Kris point: AI review becomes operational only when it returns a rigid machine-readable shape.
  • Abstract: A reviewer that writes paragraphs creates another review problem. A reviewer that returns STATUS, ERRORS, WARNINGS, and one failure reason can be routed, compared, and trusted in a script.

The constraint is the point. The model is not invited to perform personality. It is asked to say pass or fail, list actionable findings, and stop.

  • Notes: Based on strict pre-commit output format across krisyotam.com and notes.krisyotam.com.

#Candidate 3: Critical Code Removal Is A First-Class Failure

  • Source: 955478ad-f5d1-4a91-92b8-5fef6c4e6c1d.jsonl, 2026-05-12, krisyotam.com
  • Type: position
  • Confidence: high
  • Kris point: A code review gate should treat removal of critical behavior as seriously as syntax failure.
  • Abstract: The danger in a commit is not only that something new is wrong. The danger is also that something necessary quietly disappears.

This is why deleted routes, removed guards, and changed return contracts belong in the error class. The system should ask whether the site still does what it used to promise before it celebrates a green diff.

  • Notes: Derived from explicit pre-commit rule "removed critical code."

#Candidate 4: Broken Imports Are A Social Problem

  • Source: 520cf89a-ec6a-4948-be7f-c8e76f685626/subagents/agent-a206da0.jsonl, 2026-01-11, krisyotam.com
  • Type: workflow
  • Confidence: high
  • Kris point: Route and import audits are maintenance hygiene because dead surfaces confuse both humans and tools.
  • Abstract: A personal site with many routes needs periodic archaeology. Every API route should be listed, traced through fetch calls, imports, components, pages, and library references, then classified as used or unused.

Dead code is not merely clutter. It creates false affordances, stale assumptions, and unnecessary fear around deletion. A serious audit names what can be removed and why.

  • Notes: From API route audit prompt.

#Candidate 5: Delete Unused Interfaces Deliberately

  • Source: 520cf89a-ec6a-4948-be7f-c8e76f685626/subagents/agent-a206da0.jsonl, 2026-01-11, krisyotam.com
  • Type: workflow
  • Confidence: high
  • Kris point: Before deleting API routes, prove non-use across the whole codebase.
  • Abstract: Deletion is good, but casual deletion is not. The right sequence is inventory, reference search, evidence, and then removal.

The report matters because it turns deletion from a hunch into a maintainable decision. It should show every route, every known use, and every candidate for deletion.

  • Notes: Same audit prompt, cleaned into a candidate workflow.

#Candidate 6: Standard Filenames Beat Clever Component Names

  • Source: a0710726-dfee-4a3b-a0cf-c8d5532d5872.jsonl and 2026-04-25 krisyotam.com client-page convention diff
  • Type: position
  • Confidence: high
  • Kris point: Every route client component should be named client.tsx because predictable local convention beats bespoke naming.
  • Abstract: Naming every route client component after its page produces a long tail of small differences. Naming all of them client.tsx makes the filesystem easier to scan and makes route structure carry the meaning.

The human name belongs in metadata, not the filename. The filename is a convention; the header can carry the description.

  • Notes: Source is the client-page convention diff embedded in a pre-commit prompt.

#Candidate 7: Metadata Headers Are Memory For Future Agents

  • Source: 2026-04-25 krisyotam.com client-page convention diff
  • Type: workflow
  • Confidence: high
  • Kris point: Standard headers on client components are a lightweight memory system for humans and AI agents.
  • Abstract: A file header with type, name, path, and one-line purpose is not decorative if the repository is large and agent-mediated. It reduces ambiguity at the point where mistakes are cheap.

The header turns a generic client.tsx into a known surface without giving up the simplicity of a uniform filename.

  • Notes: Based on required client.tsx header format in the diff.

#Candidate 8: Personal Sites Need Canonical URL Discipline

  • Source: 2026-05-14 README.txt diff, krisyotam.com
  • Type: position
  • Confidence: high
  • Kris point: Content systems should expose clean canonical URLs and keep type/category paths as implementation detail.
  • Abstract: A personal site can have essays, verse, notes, reviews, predictions, and logs without making the URL carry every internal taxonomy.

The public promise is the slug. The database can know type and category, but the reader should get a stable, memorable permalink.

  • Notes: README diff states canonical permalinks are /<slug>, not typed category paths.

#Candidate 9: Plain Text Can Be The More Honest README

  • Source: 2026-05-14 README.md to README.txt diff, krisyotam.com
  • Type: observation
  • Confidence: high
  • Kris point: A README can become clearer when it gives up markdown flourish and becomes plain text infrastructure documentation.
  • Abstract: The README conversion from markdown to text reads like a preference for durability. Tables become aligned blocks, links become names, commands become lines, and the document stops pretending to be a brochure.

For a personal infrastructure repo, plain text can be more congruent than polished markdown. It is easier to read in any terminal and harder to overdecorate.

  • Notes: Based on replacement of README.md with README.txt.

#Candidate 10: Personal Infrastructure Is Not A Contribution Funnel

  • Source: 2026-05-14 README.txt diff, krisyotam.com
  • Type: position
  • Confidence: high
  • Kris point: A personal project can be open for reference while explicitly not accepting contributions.
  • Abstract: Openness does not imply invitation. A repo can be public so others can inspect, learn, or borrow patterns while still remaining a personal system with no obligation to accept patches.

The boundary is clean: reference is welcome, governance is not for sale.

  • Notes: README.txt includes "open for reference but not accepting contributions."

#Candidate 11: Content Repos Should Be First-Class Citizens

  • Source: 390e191d-979c-4288-92e2-e6581f944e96.jsonl, 2026-04-24, krisyotam.com
  • Type: workflow
  • Confidence: high
  • Kris point: The site repository and the content repository should be committed and pushed as a coordinated publishing unit.
  • Abstract: When the site depends on a separate content repo, the publishing workflow cannot pretend the code repo is the whole state. The sync script should commit generated artifacts and also push content changes when present.

This prevents the visible site, derived databases, and source prose from drifting apart.

  • Notes: From diff adding pushContentRepo() to the site git script.

#Candidate 12: Derived Databases Should Not Become Source Truth

  • Source: 2026-05-19 krisyotam.com diff moving content to .corpus/content
  • Type: workflow
  • Confidence: high
  • Kris point: Databases are generated surfaces; the durable source is the corpus.
  • Abstract: The workflow treats SQLite as the publication substrate, not the authorial source. Content moves through scripts into databases, but the corpus is where the text lives.

That distinction protects prose from being trapped in derived artifacts. It also keeps rebuilds and migrations possible.

  • Notes: Supported by diffs around content path relocation and sync scripts.

#Candidate 13: A Personal Site Can Be A Whole Cabinet

  • Source: README.txt diff, 2026-05-14, krisyotam.com
  • Type: observation
  • Confidence: high
  • Kris point: A personal site can hold essays, research, verse, courses, predictions, quotes, media logs, and code without reducing itself to a blog.
  • Abstract: The site is not a single genre. It is an index of intellectual life: writing, reading, media, projects, school, links, prayers, and solved code.

The point is not minimal content. The point is a coherent filing system that lets many kinds of work coexist.

  • Notes: Based on route and content list in README.txt.

#Candidate 14: Search Surfaces Need Consistent Content Type Awareness

  • Source: krisyotam.com project conventions in local ops memory and related pre-commit diffs
  • Type: workflow
  • Confidence: medium
  • Kris point: Every new content type must update every place where users discover content.
  • Abstract: Adding a type is not finished when the page renders. Search, settings, feeds, counts, and navigation all become part of the contract.

Content architecture fails when the schema changes but discovery remains stale. The maintenance rule is simple: if a type exists, the whole site should know how to find it.

  • Notes: Provenance partly from local project conventions, partly from transcript diffs touching content stats.

#Candidate 15: Suckless Is Minimalism With A Clarity Constraint

  • Source: a0710726-dfee-4a3b-a0cf-c8d5532d5872.jsonl, 2026-04-25, krisyotam.com
  • Type: argument
  • Confidence: high
  • Kris point: Simplicity is only valuable until it begins to contradict clarity.
  • Abstract: The strongest version of minimalism is not "less at any cost." It is "as simple as possible, and no simpler."

When simplification makes the system harder to understand, it has created a new complexity. The suckless lesson is frugality disciplined by clarity, not aesthetic austerity.

  • Notes: Directly grounded in Suckless notebook excerpt.

#Candidate 16: Suckless Is A Life Philosophy In Software Clothing

  • Source: a0710726-dfee-4a3b-a0cf-c8d5532d5872.jsonl, 2026-04-25, krisyotam.com
  • Type: essay-seed
  • Confidence: high
  • Kris point: A philosophy developed around programming can generalize into habits of life.
  • Abstract: Suckless begins as a software posture: small tools, clear code, advanced users, and systems that reward understanding.

But the interesting claim is broader. A person who learns to prefer simple, inspectable systems in software may start demanding the same thing from habits, workflows, possessions, and institutions.

  • Notes: The source says the philosophy has begun to take over every facet of life.

#Candidate 17: Advanced Tools Should Respect Advanced Users

  • Source: a0710726-dfee-4a3b-a0cf-c8d5532d5872.jsonl, 2026-04-25, krisyotam.com
  • Type: position
  • Confidence: high
  • Kris point: Some software should be built for users willing to understand their systems instead of hiding all complexity from them.
  • Abstract: Not every tool has to flatten itself for the least technical user. There is room for software aimed at people who will read, configure, patch, and learn.

The trade is honest: the tool does less hand-holding, and the user gets more legibility and control.

  • Notes: Based on the Suckless description of advanced-user software.

#Candidate 18: Minimalism Fails When It Becomes Aesthetic

  • Source: a0710726-dfee-4a3b-a0cf-c8d5532d5872.jsonl, 2026-04-25, krisyotam.com
  • Type: aphorism
  • Confidence: medium
  • Kris point: Minimalism is useful only when it reduces real complexity rather than merely looking sparse.
  • Abstract: The useful minimalism is operational. It makes the thing easier to hold in the head, easier to repair, and easier to trust.

The useless minimalism is visual. It removes context, names, and affordances until the system becomes obscure.

  • Notes: Extrapolated from Suckless clarity constraint.

#Candidate 19: Van Eck Phreaking Is Information Leakage Made Visible

  • Source: c49a1157-13ea-45b6-b60b-30c41b73b783.jsonl, 2026-05-08, krisyotam.com
  • Type: observation
  • Confidence: high
  • Kris point: Electronic devices leak information through signals correlated with their internal state.
  • Abstract: Van Eck phreaking is not just a spy-story curiosity. It is a reminder that computation has a physical body.

Screens, cables, keyboards, and radios radiate patterns. If those patterns correlate with internal state, they can become information channels without leaving ordinary forensic traces.

  • Notes: Directly supported by Van Eck notebook excerpt.
  • Source: c49a1157-13ea-45b6-b60b-30c41b73b783.jsonl, 2026-05-08, krisyotam.com
  • Type: essay-seed
  • Confidence: high
  • Kris point: The threat model must include the physics of machines, not only permissions and logs.
  • Abstract: A system can have no compromised account, no suspicious process, and no file touched, yet still leak information.

Van Eck phreaking forces the security conversation out of the admin panel and into electromagnetic reality. The boundary is not only what the OS allows; it is also what the hardware emits.

  • Notes: Based on VEP description and notes about no forensic trace.

#Candidate 21: ML Changes The Side-Channel Threat Model

  • Source: c49a1157-13ea-45b6-b60b-30c41b73b783.jsonl, 2026-05-08, krisyotam.com
  • Type: argument
  • Confidence: high
  • Kris point: Once machine learning can recover meaning from noisy emissions, the side-channel threat model changes.
  • Abstract: The old question was whether an attacker could capture a clean enough signal. The newer question is whether a model can infer the signal from noise.

If Deep-TEMPEST-style work succeeds, then the attacker no longer needs perfect instruments. They need enough data and a model good enough to reconstruct what used to be practically hidden.

  • Notes: From Van Eck notes mentioning Deep-TEMPEST and ML-equipped adversaries.

#Candidate 22: Air Gaps Are Philosophical Claims

  • Source: c49a1157-13ea-45b6-b60b-30c41b73b783.jsonl, 2026-05-08, krisyotam.com
  • Type: essay-seed
  • Confidence: medium
  • Kris point: Air-gap security is a claim about channels, not simply a claim about networks.
  • Abstract: Removing a network cable does not remove all communication. It only removes the obvious channel.

The philosophy of air-gap security has to ask what else can carry information: power, sound, radio, heat, timing, light, and routine human movement. The "gap" is a hypothesis that needs adversarial testing.

  • Notes: Extrapolated from Van Eck notes on air-gap security and covert channels.

#Candidate 23: Some Technical Papers Are Politically Subversive

  • Source: c49a1157-13ea-45b6-b60b-30c41b73b783.jsonl, 2026-05-08, krisyotam.com
  • Type: essay-seed
  • Confidence: medium
  • Kris point: A technical demonstration can be politically charged when it makes classified or elite knowledge publicly legible.
  • Abstract: Van Eck's 1985 paper mattered not only because it described a technique. It mattered because it showed that intelligence-agency knowledge could be made understandable with inexpensive parts and public explanation.

The subversion lies in making the hidden channel visible to ordinary readers.

  • Notes: From notebook note "Why van Eck's 1985 paper was politically subversive."

#Candidate 24: The Villa As Self-Portrait

  • Source: 609e28c6-60d2-44dd-b3be-20bd51e9aa9c.jsonl, 2026-04-27, krisyotam.com
  • Type: observation
  • Confidence: high
  • Kris point: A house can be a collector's self-portrait as much as a residence.
  • Abstract: Villa Ephrussi de Rothschild appears in the transcript less as real estate than as a made object, a projection of taste, money, arrangement, and memory.

The collector's life is legible in what she built, acquired, and left behind. The villa becomes a durable argument about style.

  • Notes: Based on Beatrice Ephrussi de Rothschild notebook excerpt.

#Candidate 25: Collection Is A Form Of Authorship

  • Source: 609e28c6-60d2-44dd-b3be-20bd51e9aa9c.jsonl, 2026-04-27, krisyotam.com
  • Type: essay-seed
  • Confidence: medium
  • Kris point: A major collection can express a mind even when the collector did not make the works.
  • Abstract: The act of selection, arrangement, preservation, and bequest is not passive ownership. It is a curatorial authorship.

Beatrice Ephrussi de Rothschild's villa and thousands of works suggest a life composed through taste. The estate is the sentence; the collection is the syntax.

  • Notes: Grounded in the notebook's emphasis on villa, art collection, and bequest.

#Candidate 26: Build Viewers For Archives, Not Just Hoard Archives

  • Source: ebad2dc8-eae3-4470-bb7a-412a565a9ae8.jsonl, 2026-04-25, Downloads
  • Type: workflow
  • Confidence: high
  • Kris point: A large Usenet archive becomes useful only when converted into a searchable long-term viewer.
  • Abstract: The archive is not finished when the files are preserved. Preservation creates the obligation to make the material inspectable.

A Next.js viewer backed by SQLite or Postgres turns old newsgroup logs into a research surface. The database is not aesthetic overkill; it is what makes maintenance and reuse possible.

  • Notes: Based on prompt about using massive Usenet archive for a database-backed Next.js project.

#Candidate 27: Keep Originals Intact During Conversion

  • Source: ebad2dc8-eae3-4470-bb7a-412a565a9ae8.jsonl, 2026-04-25, Downloads
  • Type: workflow
  • Confidence: high
  • Kris point: Archive conversion should work from copies and preserve original files untouched.
  • Abstract: A converter is allowed to normalize, index, split, and import, but it should not mutate the archive it depends on.

The original files are the ground truth. Every database, viewer, or transformed representation should be reproducible from them.

  • Notes: Directly from instruction to keep original files intact and make copies for conversion.

#Candidate 28: Plan 9 Aesthetic Can Be A Product Constraint

  • Source: ebad2dc8-eae3-4470-bb7a-412a565a9ae8.jsonl, 2026-04-25, Downloads
  • Type: position
  • Confidence: high
  • Kris point: A project can preserve a Plan 9 design aesthetic as part of its engineering brief, not as late decoration.
  • Abstract: The Usenet viewer brief does not separate interface from archive work. It asks to keep the CSS and Plan 9 aesthetic while choosing storage and building the app.

That makes design a continuity constraint. The archive deserves a surface that fits its culture.

  • Notes: Based on prompt mentioning existing CSS and Plan 9 design aesthetic.

#Candidate 29: SQLite First, Postgres When The Shape Demands It

  • Source: ebad2dc8-eae3-4470-bb7a-412a565a9ae8.jsonl, 2026-04-25, Downloads
  • Type: workflow
  • Confidence: medium
  • Kris point: Database choice should follow archive shape, maintenance needs, and long-term use rather than fashion.
  • Abstract: The prompt does not assume SQLite or Postgres in advance. It asks to look at the files first, then decide.

That is the right order. File count, query patterns, deployment constraints, and preservation goals should choose the database.

  • Notes: Inferred from "look at the files then decide sqlite or postgres."

#Candidate 30: Suckless Does Not Exclude Next.js

  • Source: ebad2dc8-eae3-4470-bb7a-412a565a9ae8.jsonl, 2026-04-25, Downloads
  • Type: position
  • Confidence: medium
  • Kris point: A Next.js project can still be held to a suckless standard if it stays simple, legible, and restrained.
  • Abstract: Framework choice does not absolve the design from discipline. Even a modern web app can be built with small surfaces, predictable data flow, and no unnecessary ornament.

The phrase "still Next.js" paired with "keep it suckless" suggests a useful tension: use the tool, but do not inherit its bloat as destiny.

  • Notes: Based on Usenet viewer prompt.

#Candidate 31: Research Starts With Downloadable Sources

  • Source: agent-acbb93513e19e816b.jsonl, 2026-04-25, Downloads subagent
  • Type: workflow
  • Confidence: high
  • Kris point: For archive work, web viewers are not enough; the source must be downloadable.
  • Abstract: A historical archive cannot depend on someone else's web interface. The research target is bulk data: tarballs, mbox files, spool dumps, JSON, raw text, and documented download patterns.

The distinction matters because a viewer gives access, while a dataset gives stewardship.

  • Notes: Based on Usenet archive research prompt.

#Candidate 32: Exact URL Patterns Matter

  • Source: agent-a9c9cf814b208ee93.jsonl, 2026-04-25, Downloads subagent
  • Type: workflow
  • Confidence: high
  • Kris point: Archive research should capture exact downloadable URL patterns, not only collection names.
  • Abstract: "Archive.org has it" is not enough for a build plan. The useful report lists file counts, sizes, samples, naming conventions, and URL patterns.

Good research ends with the next command being obvious.

  • Notes: Based on Archive.org Usenet file listing prompt.

#Candidate 33: Read-Only Collaboration Is A Different Product

  • Source: 3dfbdb7e-18e0-4279-8a92-b80d703178d7.jsonl, 2026-04-27, Downloads
  • Type: position
  • Confidence: high
  • Kris point: Notebook sharing is only acceptable for some use cases if collaborators can be read-only.
  • Abstract: Collaboration is not a binary between private and editable. There is a third need: let others inspect a notebook without giving them control over it.

The read-only requirement turns a note app from a personal store into a publication surface with boundaries.

  • Notes: Based on Joplin read-only sharing question.

#Candidate 34: Trial Infrastructure Before Committing To A Tool

  • Source: 3dfbdb7e-18e0-4279-8a92-b80d703178d7.jsonl, 2026-04-27, Downloads
  • Type: workflow
  • Confidence: high
  • Kris point: A self-hosted tool should be trialed on real infrastructure before becoming part of the system.
  • Abstract: The move from "can Joplin do read-only sharing" to "set that up on STARGATE so I can trial this" is a practical evaluation loop.

Documentation answers the possibility question. A deployed trial answers the fit question.

  • Notes: Based on Joplin setup prompt.

#Candidate 35: Names Should Match Reader Function

  • Source: 06a904b3-7c12-48dc-9413-ba8510e64115.jsonl, 2026-04-26, Downloads
  • Type: observation
  • Confidence: high
  • Kris point: "Publications" may fit a curated reading page better than "Networks" when the reader expects outlets, journals, and magazines.
  • Abstract: Naming is interface design. If a page primarily lists magazines, journals, wire services, and cultural outlets, "publications" may tell the truth more directly than "networks."

The question is not which name is prettier. It is which name better predicts the contents.

  • Notes: Based on prompt asking whether to rename networks to publications.

#Candidate 36: Curate By Function And Shelf

  • Source: 06a904b3-7c12-48dc-9413-ba8510e64115.jsonl, 2026-04-27, Downloads
  • Type: workflow
  • Confidence: high
  • Kris point: A publication list should be organized by function and regional shelf, not dumped alphabetically.
  • Abstract: A serious media directory needs multiple organizing principles. Some sources are plain-news fallbacks, some are literary journals, some are art-market surfaces, some are regional windows.

The structure should tell the reader what each source is for.

  • Notes: Based on requested organization for networks/publications list.

#Candidate 37: Read The Economist Critically

  • Source: 06a904b3-7c12-48dc-9413-ba8510e64115.jsonl, 2026-04-27, Downloads
  • Type: position
  • Confidence: high
  • Kris point: The Economist is useful, but its liberal internationalist and pro-market house view should be read critically.
  • Abstract: A source can be valuable without being neutral. The right note is not "avoid it" but "know its house view."

That turns reading from passive intake into calibrated use. The outlet becomes a tool with known bias, not an oracle.

  • Notes: Directly from the listed annotation.

#Candidate 38: Plain News Has A Fallback Role

  • Source: 06a904b3-7c12-48dc-9413-ba8510e64115.jsonl, 2026-04-27, Downloads
  • Type: workflow
  • Confidence: high
  • Kris point: Reuters and AP are best used as fact-checking and plain-news fallbacks, not as the whole reading diet.
  • Abstract: Wire services solve a specific problem: what happened, who said it, when, and where. They are not substitutes for criticism, history, or essays.

Their value is in grounding. Use them on demand when claims need a plain factual floor.

  • Notes: Based on annotations for Reuters and AP.

#Candidate 39: Build A Canon Across High And Regional Culture

  • Source: 06a904b3-7c12-48dc-9413-ba8510e64115.jsonl, 2026-04-27, Downloads
  • Type: observation
  • Confidence: high
  • Kris point: A serious reading network can include LRB, Apollo, Sight and Sound, The Namibian, Nippon.com, and regional culture outlets together.
  • Abstract: The list refuses a narrow prestige canon. It includes literary journals, art magazines, film criticism, Linux reporting, regional news, and national culture outlets.

The result is a canon organized by attention rather than status alone.

  • Notes: From networks/publications prompt.

#Candidate 40: Publication Lists Should Preserve Provenance

  • Source: 06a904b3-7c12-48dc-9413-ba8510e64115.jsonl, 2026-04-27, Downloads
  • Type: workflow
  • Confidence: medium
  • Kris point: When replacing a copied publication list, use the old markdown only as a URL source and let the curated list decide inclusion.
  • Abstract: The transcript distinguishes between source material and editorial judgment. The downloaded markdown can provide URLs, but inclusion comes from Kris's new list.

That is a useful pattern: scrape for facts, curate by intent.

  • Notes: Based on instruction to ignore unlisted items from the downloaded markdown.

#Candidate 41: LLM Workflows Deserve Their Own Monorepo

  • Source: b09f8f0c-eb00-4efd-ae9d-e7c5691e6e4e.jsonl, 2026-04-27, Downloads
  • Type: workflow
  • Confidence: high
  • Kris point: AI harness rules should be centralized into a private monorepo rather than duplicated project by project.
  • Abstract: Claude, Codex, Cursor, Gemini, Copilot, Aider, Continue, Cline, Windsurf, and Hermes all want different instruction formats, but they should not each invent a philosophy.

The monorepo makes shared rules canonical and harness-specific files adapters.

  • Notes: Based on /dev/llms creation prompt.

#Candidate 42: Harnesses Differ, Principles Should Not

  • Source: agent-a3e5d6776fbeeeb05.jsonl, 2026-04-27, Downloads subagent
  • Type: position
  • Confidence: high
  • Kris point: Every AI coding harness should consume the same underlying engineering philosophy in its own native format.
  • Abstract: The rules can be expressed as CLAUDE.md, AGENTS.md, .cursorrules, or another file, but the foundation should remain stable.

That prevents the tool from becoming the culture. The harness adapts to the user's standards, not the other way around.

  • Notes: Based on generated llms README content in transcript.

#Candidate 43: Writing Should Follow Orwell, Not ChatGPT

  • Source: agent-a3e5d6776fbeeeb05.jsonl, 2026-04-27, Downloads subagent
  • Type: position
  • Confidence: high
  • Kris point: AI writing rules should explicitly reject generic LLM prose and prefer plain, concrete style.
  • Abstract: The instruction "Writing follows Orwell, not ChatGPT" is a compact style doctrine. It prizes clarity, plainness, and directness over padded hedging and model-polished filler.

For agents, this has to be written down. Otherwise they revert to the statistical average of assistant prose.

  • Notes: Direct phrase appears in llms README content.

#Candidate 44: Plain Text Over JSON

  • Source: agent-a3e5d6776fbeeeb05.jsonl, 2026-04-27, Downloads subagent
  • Type: aphorism
  • Confidence: high
  • Kris point: Plain text should be preferred where it is sufficient because it remains inspectable and durable.
  • Abstract: JSON is useful when a machine needs structure. Plain text is better when a human needs to read, edit, diff, and carry the rule across tools.

A workflow repository should not turn every convention into a schema just because it can.

  • Notes: Based on llms README philosophy bullet "Plain text over JSON."

#Candidate 45: No Building Without Permission

  • Source: agent-a3e5d6776fbeeeb05.jsonl, 2026-04-27, Downloads subagent
  • Type: workflow
  • Confidence: high
  • Kris point: Agents should not run expensive or state-changing build commands without explicit permission.
  • Abstract: The rule is less about builds specifically than about respecting operational boundaries. A model can inspect, plan, and edit, but certain commands cross into resource use and system change.

Permission keeps autonomy from becoming surprise.

  • Notes: Based on llms README philosophy bullet and local ops memory.

#Candidate 46: Architecture Docs Stay Current Or Nothing Ships

  • Source: agent-a3e5d6776fbeeeb05.jsonl, 2026-04-27, Downloads subagent
  • Type: workflow
  • Confidence: high
  • Kris point: Documentation is part of the shipping condition, not an afterthought.
  • Abstract: If architecture docs are allowed to drift, the repository becomes a trap for the next agent or human maintainer.

The rule is intentionally severe: either the docs reflect reality, or the change is not ready. This treats understanding as part of the artifact.

  • Notes: Based on llms README philosophy bullet.

#Candidate 47: Do Not Write Content On The User's Behalf

  • Source: agent-a3e5d6776fbeeeb05.jsonl, 2026-04-27, Downloads subagent
  • Type: position
  • Confidence: high
  • Kris point: Agents may research, format, and fact-check, but they should not author personal content as the user.
  • Abstract: The boundary protects voice. AI can help maintain the machinery around writing, but it should not impersonate the person whose site or archive it serves.

That separation makes the tool useful without making the corpus suspect.

  • Notes: Based on llms README philosophy and repeated local rule.

#Candidate 48: Email History Is A Personal Account Graph

  • Source: b09f8f0c-eb00-4efd-ae9d-e7c5691e6e4e.jsonl, 2026-04-27, Downloads
  • Type: observation
  • Confidence: high
  • Kris point: Old inboxes can reconstruct which services a person signed up for and how accounts moved across email addresses.
  • Abstract: Email is not only correspondence. It is a ledger of accounts, migrations, confirmations, receipts, password resets, and abandoned identities.

Scanning old mail by sender domain can recover a personal service graph that memory alone cannot.

  • Notes: Based on prompt to scan all email signups and transfers.

#Candidate 49: Marketing Mail Should Not Count As A Signup

  • Source: agent-a754fb54dac26cb2b.jsonl, 2026-04-27, Downloads subagent
  • Type: workflow
  • Confidence: high
  • Kris point: Account reconstruction must separate marketing-only senders from real service or transactional relationships.
  • Abstract: A domain that only sends promotions is not the same as a service where an account exists. The classifier has to distinguish newsletters from confirmations, receipts, resets, shipping notices, and account alerts.

When a domain has both marketing and transactional signals, it belongs in the service set.

  • Notes: Directly from email report classification rules.

#Candidate 50: Reports Should Be Built From Raw Data

  • Source: agent-a754fb54dac26cb2b.jsonl, 2026-04-27, Downloads subagent
  • Type: workflow
  • Confidence: high
  • Kris point: Existing analysis can be reference material, but the final report should be rebuilt from raw JSON and maildir data.
  • Abstract: The reliable report starts at the source: JSON summaries and actual message headers.

Prior summaries can guide the work, but they should not become unquestioned truth. Rebuilding from raw data makes the result auditable.

  • Notes: Based on instruction to read existing analysis for reference but build from raw data.

#Candidate 51: Domain-Level Evidence Beats Memory

  • Source: agent-a754fb54dac26cb2b.jsonl, 2026-04-27, Downloads subagent
  • Type: observation
  • Confidence: high
  • Kris point: Sender domains and addresses provide better evidence of signups than recollection.
  • Abstract: Personal memory forgets the account, the date, the transfer, and the address used. Mail headers preserve the service's repeated contact patterns.

The useful unit is domain to sender addresses to subjects, grouped by account.

  • Notes: Based on requested email report schema.

#Candidate 52: Use Agents For Bounded Subtasks

  • Source: b09f8f0c-eb00-4efd-ae9d-e7c5691e6e4e.jsonl, 2026-04-27, Downloads
  • Type: workflow
  • Confidence: high
  • Kris point: Subagents are useful when the task can be divided into concrete research, scanning, and report-writing units.
  • Abstract: The transcript repeatedly delegates bounded work: read instruction files, inspect archives, fetch file listings, classify email senders, and report back.

The pattern is not vague "AI team" theater. Each agent gets a defined input, output, and scope.

  • Notes: Based on multiple Downloads subagent prompts.

#Candidate 53: Formatting Is Not Rewriting

  • Source: 69542333-17fa-4e33-a5c9-171174853926.jsonl, 2026-05-04, tekoa-coleman/content/thoughts
  • Type: workflow
  • Confidence: high
  • Kris point: Restoring markdown formatting should preserve the author's words exactly.
  • Abstract: Formatting work has a narrow mandate: blockquotes, paragraph breaks, italics for titles, verse line breaks, and frontmatter preservation.

It must not rewrite, rephrase, add headings, or improve the content. The editor repairs structure without taking possession of voice.

  • Notes: Based on repeated formatting prompt rules.

#Candidate 54: Blockquotes Are Provenance Markers

  • Source: 69542333-17fa-4e33-a5c9-171174853926.jsonl, 2026-05-04, tekoa-coleman/content/thoughts
  • Type: observation
  • Confidence: high
  • Kris point: Long quoted passages should be visually marked as borrowed speech.
  • Abstract: Markdown blockquotes are not just styling. They protect the boundary between the author's voice and someone else's words.

When a parsed post loses formatting, restoring blockquotes restores attribution and argumentative structure.

  • Notes: Based on blockquote rule in formatting prompts.

#Candidate 55: Paragraph Breaks Should Follow Thought Shifts

  • Source: 95178156-8165-406e-aaa8-ab406ab7267b.jsonl, 2026-05-04, tekoa-coleman/content/thoughts
  • Type: workflow
  • Confidence: high
  • Kris point: Long paragraphs should be broken only where the thought actually turns.
  • Abstract: Mechanical line breaking is not editing. A long paragraph can remain long if it holds one movement.

The formatter should break only when a paragraph clearly contains multiple ideas. The goal is readability without rewriting the cadence.

  • Notes: Based on long-paragraph rule in formatting prompts.

#Candidate 56: Frontmatter Is Sacred During Content Repair

  • Source: 2514f265-1b09-4057-aae1-9d8d5eda373b.jsonl, 2026-05-04, tekoa-coleman/content/thoughts
  • Type: workflow
  • Confidence: high
  • Kris point: Metadata should survive formatting passes exactly as it came in.
  • Abstract: When repairing parsed markdown, frontmatter is not prose. It is structured metadata and must remain byte-for-byte stable unless the task is metadata editing.

This prevents formatting work from accidentally becoming data migration.

  • Notes: Based on repeated rule to keep frontmatter exactly as-is.

#Candidate 57: Security Triage Should Prefer False Positives

  • Source: afb62f7d-8ab5-4584-a445-1accce298ca0.jsonl, 2026-05-15, omniscient
  • Type: workflow
  • Confidence: high
  • Kris point: Vulnerability triage should be conservative when uncertainty could hide a real exposure.
  • Abstract: The CVE prompt says to treat uncertainty as affected because a false positive is better than a missed vulnerability.

That is the right asymmetry for security triage. Wasted follow-up is cheaper than silent compromise.

  • Notes: Based on omniscient CVE triage prompt.

#Candidate 58: CVE Answers Should Be Exact JSON

  • Source: afb62f7d-8ab5-4584-a445-1accce298ca0.jsonl, 2026-05-15, omniscient
  • Type: workflow
  • Confidence: high
  • Kris point: Automated security triage should return only the structured decision needed by downstream tools.
  • Abstract: The triage format allows no markdown, no explanation block, and no ornamental prose. It returns affected status, package, version, action, urgency, or a compact reason.

For operational security, verbosity can be a bug.

  • Notes: Based on exact JSON output contract in omniscient prompt.

#Candidate 59: Inventory-Based Security Beats Keyword Panic

  • Source: afb62f7d-8ab5-4584-a445-1accce298ca0.jsonl, 2026-05-15, omniscient
  • Type: workflow
  • Confidence: high
  • Kris point: A CVE should be evaluated against installed packages, services, kernel, OS, and language runtimes before action.
  • Abstract: The prompt does not ask whether the CVE sounds scary. It asks whether it affects the actual system inventory.

That keeps triage grounded. Severity matters, but applicability comes first.

  • Notes: Based on task instructions in omniscient queue operation.

#Candidate 60: The System Inventory Is A Security Primitive

  • Source: afb62f7d-8ab5-4584-a445-1accce298ca0.jsonl, 2026-05-15, omniscient
  • Type: observation
  • Confidence: high
  • Kris point: A current package and service inventory is what makes automated vulnerability triage possible.
  • Abstract: Without an inventory, every CVE becomes speculation. With one, the assistant can compare affected software to installed packages, active services, kernels, and runtimes.

The boring list of versions is the thing that turns news into action.

  • Notes: Based on full Arch package and service inventory embedded in omniscient prompt.

#Candidate 61: Notes Sites Should Share Typography With The Main Site

  • Source: c50529aa-3548-4a28-b594-08ba4ef53c0b.jsonl, 2026-05-04, notes.krisyotam.com
  • Type: observation
  • Confidence: high
  • Kris point: A knowledge base can borrow the main site's serif reading style to create continuity across personal infrastructure.
  • Abstract: The notes diff moves prose toward a serif style, antialiasing, ligatures, and legible long-form text.

The implication is that notes are not disposable admin pages. They are part of the same reading environment as the main site.

  • Notes: Based on notes.krisyotam.com CSS diff.

#Candidate 62: Generated Data Should Be Ignored And Rebuilt

  • Source: a9170437-2cbc-4695-9811-79c15043c539.jsonl, 2026-05-15, notes.krisyotam.com
  • Type: workflow
  • Confidence: high
  • Kris point: Generated public data should be built by scripts and excluded from source control when it can be reproduced.
  • Abstract: Adding public/data/ to .gitignore and wiring predev and prebuild to the index builder makes the boundary explicit.

The source is the notes corpus and the builder. The generated data is a cache with a contract.

  • Notes: Based on notes.krisyotam.com diff adding buildIndex scripts and ignoring generated data.