Skip to content
kindelPublic

About

Just Right, Over, Under user's manual for company principle sets

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

porridge

Just Right, Over, Under. A user's manual for living a company's principles.

Live: https://kindel.com/kld/apps/porridge/. The bare URL is the generic set, universal leadership principles that work for any company (id generic). A company view is ?c=amazon or a company path. Amazon is https://kindel.com/kld/apps/porridge/?c=amazon. Arm is https://kindel.com/kld/apps/porridge/?c=arm.

The sets come from kindel/principles. This repo is the app. Teaching prose is data/teaching/<company>/ in that same repo. The app shows teaching, examples, and Further reading only when that company has them. A company with no generated calibration rows shows no table.

The app asks for teaching when data/teaching/<company>/<slug>.json exists. Amazon is required. The generic set reuses the classic set.

The /lps/ alias was removed. Only BIQ keeps a root alias on kindel.com.

Run

Needs a static file server because the sets are loaded with fetch.

python3 -m http.server

Open http://127.0.0.1:8000/

The standalone page fetches kindel/principles from jsDelivr. A host that already serves the JSON can override the URLs, and can point the company tiles at its own logo files, by setting window.PORRIDGE before js/porridge-app.js loads:

<script>
  window.PORRIDGE = {
    principlesIndex: "/data/principles/index.json",
    principlesRecord: "/data/principles/{company}/{slug}.json",
    teaching: "/data/principles/teaching/amazon/{slug}.json",
    logoBase: "css/logos/",
    logos: {
      amazon: "amazon.svg",
      arm: "arm.svg",
      "blue-origin": "blue-origin.svg",
      coupang: "coupang.svg",
      dawn: "dawn.png",
      "delivery-hero": "delivery-hero.svg",
      gitlab: "gitlab.svg",
      toyota: "toyota.svg"
    }
  };
</script>

logoBase is a string. It defaults to css/logos/. logos maps a company id to a filename under that base. The map above is the default. A company omitted from logos gets a name-only tile.

URLs

Single pages are /kld/apps/porridge/<company>/<id>/. The company has to be in the path because ids are only unique within a company: dive-deep belongs to Amazon, Coupang, and Delivery Hero, and own-it to both Arm and Delivery Hero.

Every pre-existing flat URL is kept as an alias, so /porridge/dive-deep/ redirects to /kld/apps/porridge/amazon/dive-deep/.

The standalone page addresses the same content with query parameters, ?c=<company>&p=<id>, and needs no path scheme.

Hugo

kindelwww mounts this module for layouts, content, js, and css, and paints the Kindel chrome. The module carries its own layouts/partials/lp-tokens.html; a site that defines its own will override it, and that override must be company-aware or cross-references will point at the wrong company.

Adding a company is an issue on kindel/principles, then a content file here for each new single, under content/porridge/<company>/.

Generate facet examples

The porridge table is generated, like BIQ example packs. Human rows in kindel/principles (Amazon authored, Dawn quoted) are source for the generator. They are not the table.

Run the Generate facet examples action. It is manual only, because every real run spends xAI credits. Leave dry_run on for the first pass, then run it again with dry_run off. Generated rows arrive as a pull request on principles. A new company inherits them by mapping to the facet.

The key lives in the XAI_API_KEY repository secret. Opening the principles PR uses CASCADE_TOKEN.

Resume-safe. Every facet that does not already have eight generated rows is pending. Human source refs are not a reason to skip.

Locally, for a count without a key:

PORRIDGE_DRY_RUN=1 PRINCIPLES_ROOT=../principles python3 scripts/generate.py

The prompt is prompt.md, read at run time. The model is xAI grok-4.6.

The prompt asks for plain words a working manager would say out loud. PLAIN_WORDS in scripts/generate.py is the check: a row that uses a stand-in noun such as "the package" or "the ask" is dropped like any other malformed row, and the facet stays pending.

App card

This repo ships card.json and icon.png as the listing for any host. kindelwww and other hosts read these files to display Porridge in their app indexes.

License

MIT. Copyright (c) 2026 Kindel, LLC. Keep the copyright notice and permission notice in all copies.

About

Just Right, Over, Under user's manual for company principle sets

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages