{"id":51511764,"url":"https://github.com/kaiser-data/cognost","last_synced_at":"2026-07-08T07:02:17.606Z","repository":{"id":365994206,"uuid":"1274555144","full_name":"kaiser-data/cognost","owner":"kaiser-data","description":"Self-improving stakeholder-alignment Company Brain on Cognee — ingest, query+self-improve, lint. Cognee Cloud Hackathon 2026.","archived":false,"fork":false,"pushed_at":"2026-06-19T20:00:53.000Z","size":124,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-19T20:22:05.388Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kaiser-data.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-19T16:28:36.000Z","updated_at":"2026-06-19T20:00:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kaiser-data/cognost","commit_stats":null,"previous_names":["kaiser-data/cognost"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/kaiser-data/cognost","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaiser-data%2Fcognost","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaiser-data%2Fcognost/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaiser-data%2Fcognost/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaiser-data%2Fcognost/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kaiser-data","download_url":"https://codeload.github.com/kaiser-data/cognost/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaiser-data%2Fcognost/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35255367,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-08T02:00:06.796Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-08T07:02:16.869Z","updated_at":"2026-07-08T07:02:17.589Z","avatar_url":"https://github.com/kaiser-data.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cognost — a self-improving, stakeholder-alignment Company Brain\n\n\u003e **Cognee Cloud Hackathon · 2026-06-19** · built on [Cognee](https://github.com/topoteretes/cognee) `1.2.0.dev1`\n\nMost \"chat with your docs\" tools paper over disagreement — they pick one source and sound\nconfident. **Cognost does the opposite.** It ingests a product team's scattered documents, answers\nquestions **with citations while surfacing where the docs disagree**, tracks which decisions are\ncurrent vs. superseded, flags what has no owner, and **learns its own answering rules from scored\nfeedback.**\n\n| Proof | Result | Evidence |\n| --- | --- | --- |\n| Live on Cognee Cloud, 42-doc needle-in-haystack | **8/8** stakeholder conflicts surfaced with citations | [`brainflow/snapshots/query-results.json`](brainflow/snapshots/query-results.json) |\n| Decoys (competitor price · superseded ADR · unapproved draft) | **3/3** correctly *not* flagged — zero false positives | [`brainflow/snapshots/query-results.json`](brainflow/snapshots/query-results.json) |\n| Self-improvement, same questions, only the *skill* changes | avg score **1.3 → 10.0 / 10** | [`brain/evidence/before-after.md`](brain/evidence/before-after.md) |\n| Lint pass over the corpus | **11/11** planted misalignments caught, **reported not auto-resolved** | [`brain/evidence/lint-report.md`](brain/evidence/lint-report.md) |\n| Restructured brain (live diagnostic) | open-contradiction counter ticks **0 → 6** | [▶ artifact](https://claude.ai/code/artifact/7f6b3fdf-5562-412a-a3e1-a05c46039b36) |\n\n---\n\n## Why it matters\n\nEvery product org has the same failure mode: the PRD says one thing, the roadmap drifted, Sales\nsigned a contradicting promise, and the design shipped a feature marked *\"Won't have.\"* The truth\nis **knowable but scattered** across a dozen documents by seven stakeholders. A normal RAG bot\npapers over the drift. Cognost is built to **preserve the contradiction, cite both sides, and say\nwhich version is current.**\n\nIt does three things, and a fourth that the others compound into:\n\n1. **Answers with provenance** — every claim cites its source document and date.\n2. **Surfaces disagreement** — when sources conflict it presents *both*, never guesses a winner.\n3. **Lints the knowledge base** — contradictions, superseded-but-referenced decisions, metric\n   drift, ownership orphans — the bookkeeping no team ever does.\n4. **Improves itself** — it scores its own answers and adopts the operating rule that would have\n   fixed each failure, sourced from its [`CLAUDE.md`](CLAUDE.md) contract, **proposed first and\n   applied explicitly.**\n\n---\n\n## Architecture — two-tier memory on Cognee Cloud\n\n[![Cognost — system architecture, two-tier memory on Cognee Cloud](brainflow/architecture.png)](brainflow/architecture.svg)\n\n\u003e Vector source: [`brainflow/architecture.svg`](brainflow/architecture.svg)\n\n\u003cdetails\u003e\n\u003csummary\u003eSame diagram as Mermaid (GitHub-native)\u003c/summary\u003e\n\n```mermaid\nflowchart TB\n  subgraph SRC[\"① Sources — 42 documents, multi-format\"]\n    direction LR\n    S1[\"Product \u0026amp; Eng\u003cbr/\u003ePRD · ADRs · Roadmap · Decision Log\"]\n    S2[\"GTM \u0026amp; Ops\u003cbr/\u003eOKRs · Sales · GTM · Content · Design · RACI\"]\n    S3[\"Hay (operational)\u003cbr/\u003eStandups · Retros · QA · Support · Investor\"]\n    S4[\"Multi-format\u003cbr/\u003eTranscript .txt · Slack .json · Metrics .csv\"]\n  end\n\n  subgraph ING[\"② Ingestion — Cognee Cloud\"]\n    I1[\"remember()\u003cbr/\u003efile upload\"]\n    I2[\"cognify pipeline\u003cbr/\u003echunk → extract entities \u0026amp; typed relations\"]\n    I1 --\u003e I2\n  end\n\n  subgraph BRAIN[\"③ The Brain — Cognee Cloud · dataset: brainflow\"]\n    direction LR\n    G1[\"Knowledge graph\u003cbr/\u003etyped edges:\u003cbr/\u003econtradicts · supersedes · owned_by · cites\"]\n    M1[\"Session memory\u003cbr/\u003e(ephemeral) scored Q\u0026amp;A\"]\n    M2[\"Permanent graph\u003cbr/\u003e(durable) register + summaries\"]\n  end\n\n  subgraph GOV[\"④ Governance — the maintainer contract\"]\n    C1[\"CLAUDE.md schema\u003cbr/\u003eprovenance · preserve-conflict · current-vs-superseded\"]\n    C2[\"wiki-maintainer skill\u003cbr/\u003eloaded as recall system prompt\"]\n    C1 --\u003e C2\n  end\n\n  subgraph OPS[\"⑤ Operations\"]\n    O1[\"Query / Recall\u003cbr/\u003eGRAPH_COMPLETION\u003cbr/\u003ecited, conflict-aware\"]\n    O2[\"Lint\u003cbr/\u003econtradictions · supersessions\u003cbr/\u003eorphans · metric drift\"]\n    O3[\"Self-improve\u003cbr/\u003escore → propose → apply\"]\n  end\n\n  SRC --\u003e ING --\u003e BRAIN\n  C2 --\u003e O1\n  BRAIN --\u003e O1 \u0026 O2 \u0026 O3\n  O1 -. \"scored feedback\" .-\u003e M1\n  M1 --\u003e O3\n  O3 -. \"cognee.improve(session_ids)\" .-\u003e M2\n  O3 -. \"learned policies\" .-\u003e C2\n\n  classDef brain fill:#0C1719,stroke:#4FD0C5,stroke-width:2px,color:#DCE7E4;\n  classDef gov fill:#16100a,stroke:#E8B23A,color:#E8E0D0;\n  classDef ops fill:#1a0f0d,stroke:#FF5C49,color:#F0DAD6;\n  class G1,M1,M2 brain;\n  class C1,C2 gov;\n  class O1,O2,O3 ops;\n```\n\n\u003c/details\u003e\n\n| Tier | What lives here | Where |\n| --- | --- | --- |\n| **Session memory** (ephemeral) | raw Q\u0026A events, scores, feedback per run | `brain/session/*.jsonl` + Cognee `session_id` |\n| **Permanent graph** (durable) | entities, typed relationships, summaries, contradiction register, the wiki | Cognee graph (`cognify`) + [`wiki/`](wiki/) |\n\nThe full diagram set (system + self-improvement loop + single-query data flow) lives in\n[`brainflow/ARCHITECTURE.md`](brainflow/ARCHITECTURE.md).\n\n---\n\n## The three operations\n\n```bash\npython brain/ingest.py --reset                # 1 INGEST  → permanent knowledge graph\npython brain/query.py  --tag run              # 2 QUERY   → cited, conflict-aware answers\npython brain/selfimprove.py --from-tag run    #   IMPROVE → distil feedback → graph + propose skill\npython brain/lint.py                          # 3 LINT    → contradictions / supersessions / orphans\n```\n\nOne-shot, end-to-end: **`bash brain/run_demo.sh`** (ingest → query *before* → self-improve →\nquery *after* → before/after evidence → lint).\n\n---\n\n## The self-improvement loop\n\nThe hackathon's skill cycle — *remember skill → run → score → record feedback (propose, don't\napply) → apply explicitly* — maps **1:1** onto Cognee 1.2's native skill API. This loop was\n**conceived by [Maria Beiner](https://www.linkedin.com/in/maria-beiner/)**.\n\n[![Cognost — the self-improvement loop](brainflow/self-improvement-loop.png)](brainflow/self-improvement-loop.svg)\n\n\u003e Vector source: [`brainflow/self-improvement-loop.svg`](brainflow/self-improvement-loop.svg) · loop concept by **Maria Beiner**\n\n\u003cdetails\u003e\n\u003csummary\u003eSame loop as Mermaid (GitHub-native)\u003c/summary\u003e\n\n```mermaid\nflowchart LR\n  A[\"Remember skill\u003cbr/\u003ebaseline v1\"] --\u003e B[\"Run\u003cbr/\u003erecall(GRAPH_COMPLETION)\"]\n  B --\u003e C[\"Score\u003cbr/\u003ecited? · surfaced conflict? · current-vs-superseded?\"]\n  C --\u003e D{\"rubric\u003cbr/\u003efailures?\"}\n  D -- \"yes\" --\u003e E[\"Propose skill rewrite\u003cbr/\u003eadopt CLAUDE.md policy\u003cbr/\u003e(NOT applied)\"]\n  E --\u003e F[\"Apply explicitly\u003cbr/\u003e--apply\"]\n  F --\u003e A\n  C -. \"distil\" .-\u003e G[\"cognee.improve(session_ids)\"]\n  G --\u003e H[\"Permanent graph enriched\"]\n  classDef hot fill:#1a0f0d,stroke:#FF5C49,color:#F0DAD6;\n  class D hot;\n```\n\n\u003c/details\u003e\n\n| Cognost (`brain/`) | Native Cognee API | What it is |\n| --- | --- | --- |\n| `score_answer()` → 0–10 | `SkillRunEntry.success_score` | same rubric, graph-backed run record |\n| `selfimprove.propose()` | `improve_skill(…, apply=False)` → `SkillImprovementProposal` | proposal-first, **never auto-applied** |\n| `selfimprove.apply()` | `improve_skill(…, apply=True)` | adopts proposal, archives the old procedure |\n| `distill()` | `cognee.improve(session_ids=…)` | distils scored session → permanent graph |\n\nThe brain **learns its own operating rules from its own low-scoring answers**, sourcing each rule\nfrom the schema rather than inventing it. Full mapping:\n[`brain/SKILL_API_ALIGNMENT.md`](brain/SKILL_API_ALIGNMENT.md) · runnable reference:\n[`brain/skill_native.py`](brain/skill_native.py).\n\n---\n\n## Before / after — same questions, only the skill changes\n\nThe only thing that differs between the columns is the **skill** (the system prompt):\n`wiki-maintainer.baseline` (\"be concise, give a direct answer\") vs. the learned `wiki-maintainer`\n(provenance · preserve-contradictions · current-vs-superseded).\n\n| Run | Skill | Avg | Cited | Surfaced conflict | Stated currency |\n| --- | --- | --- | --- | --- | --- |\n| **before** | baseline v1 | **1.3 / 10** | 0/7 | 0/7 | 0/7 |\n| **after** | wiki-maintainer | **10.0 / 10** | 7/7 | 7/7 | 7/7 |\n\n\u003e **Q — \"What's the current premium-upgrade timing, and was it ever changed?\"**\n\u003e\n\u003e **Before** *(1/10)* — \"The premium upgrade prompt appears on Day 3 after first use.\" ❌ Confident\n\u003e and **wrong** — Day 3 was reverted; conflict hidden, no provenance.\n\u003e\n\u003e **After** *(10/10)* — \"**Current: Day 7 after first use** (Decision Log 2026-04-09 reverted it,\n\u003e superseding the 2026-02-14 move to Day 3). Day 7 (PRD §Monetisation) → Day 3 (Decision Log\n\u003e 2026-02-14) → **back to Day 7** (Decision Log 2026-04-09). ⚠️ Stale refs still cite Day 3:\n\u003e Roadmap 2026 and Design Spec Screen 5.\"\n\nFull table for all 7 questions: [`brain/evidence/before-after.md`](brain/evidence/before-after.md).\n\n---\n\n## Lint — the alignment money-shot\n\n[`brain/evidence/lint-report.md`](brain/evidence/lint-report.md) catches **all 11 planted issues** —\n**6 live contradictions** (AI Daily Pick scope, HR data privacy, launch platform, pricing,\nexercise length, category label drift), **2 superseded-but-still-referenced** decisions (Day-3\npaywall, Firebase backend), **1 metric drift** (two definitions of \"40% retention\"), **4 ownership\norphans**, and **2 spec-vs-design gaps**. Decisions are **reported, never auto-resolved**\n([`CLAUDE.md`](CLAUDE.md) §7).\n\n---\n\n## Live on Cognee Cloud\n\nVerified 2026-06-19 against the live `brainflow` brain:\n\n- **8/8** stakeholder questions surfaced their conflict with citations and current-vs-superseded.\n- **3/3** decoys correctly left alone (competitor price, superseded ADR, unapproved draft) — no\n  false positives.\n- The reverted **Day-3 paywall** traced across **5 documents**, including an unstructured meeting\n  transcript and a Slack export.\n\nTwo-snapshot diff (same 42 sources, same graph — only the skill changes):\n[`brainflow/snapshots/`](brainflow/snapshots/) → open contradictions **0 → 6**. The\n[**live diagnostic artifact**](https://claude.ai/code/artifact/7f6b3fdf-5562-412a-a3e1-a05c46039b36)\nanimates the transition. Cloud is wired two ways — REST `remember`/`recall`, and the SDK via\n[`brain/serve_cloud.py`](brain/serve_cloud.py) (`cognee.serve(url, api_key)`).\n\n---\n\n## The dataset — [BrainFlow](DATASET.md)\n\nA mental-fitness app for stressed professionals (DACH market), used as synthetic team knowledge in\ntwo corpora:\n\n| Corpus | Size | Purpose |\n| --- | --- | --- |\n| [`raw/`](raw/) | **12 docs**, 11 planted misalignments | the focused, reproducible **local** pipeline |\n| [`brainflow/raw/`](brainflow/raw/) | **42 docs** (12 conflict-bearing + 30 operational hay) | the **live-Cloud** needle-in-haystack at scale |\n\nExample planted issue: the PRD marks \"AI Daily Pick\" as *Won't have*, while the roadmap, a later\nPM decision, and the design all ship it — over a recorded Engineering objection, with no build\nowner. Cognost's job is to catch exactly these. Full register: [`DATASET.md`](DATASET.md).\n\n---\n\n## Quickstart\n\n```bash\ncd Cognost\nuv venv \u0026\u0026 source .venv/bin/activate\nuv pip install -r requirements.txt\ncp .env.template .env        # add your OpenAI key (local Ollama path also supported)\nbash brain/run_demo.sh\n```\n\n**Cognee Cloud (bonus):** add `COGNEE_CLOUD_URL` / `COGNEE_CLOUD_API_KEY` to `.env`, then\n`python brain/ingest.py --reset --push` builds locally and pushes the dataset to your Cloud\ninstance.\n\n---\n\n## Repo map\n\n| Path | What |\n| --- | --- |\n| [`brain/`](brain/) | the runnable Cognee pipeline (ingest / query / self-improve / lint / evidence) — [`brain/README.md`](brain/README.md) |\n| [`brain/skills/`](brain/skills/) | the active maintainer skill the pipeline runs (+ archived baseline) |\n| [`my_skills/`](my_skills/) | the same skills framed onto Cognee's **native** skill API (`SkillRunEntry`, `improve_skill`) |\n| [`wiki/`](wiki/) | the human-readable wiki: overview, contradiction register, topic \u0026 source pages |\n| [`raw/`](raw/) | the 12-doc focused source corpus |\n| [`brainflow/`](brainflow/) | the 42-doc live-Cloud corpus, architecture diagrams, snapshots, and diagnostic |\n| [`CLAUDE.md`](CLAUDE.md) | the maintainer contract — provenance, never silently resolve a contradiction, current-vs-superseded |\n| [`SUBMISSION.md`](SUBMISSION.md) | the full hackathon write-up and pitch |\n| [`DATASET.md`](DATASET.md) | the synthetic dataset and its planted issues |\n\n---\n\n## Stack\n\nCognee `1.2.0.dev1` · OpenAI by default (local Ollama + `nomic-embed-text` path included,\nno cloud key required to run) · Cognee Cloud for the live suite · Python 3.12.\n\n**Repo:** https://github.com/kaiser-data/cognost\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaiser-data%2Fcognost","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaiser-data%2Fcognost","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaiser-data%2Fcognost/lists"}