SlopScore
00 crowd

gemini-hackathon

gemini_hackathon — Per-Source Theming Across the British Isles. Google All Things Agentic Hackathon submission. Gemini 3.5 + Gemma 4 via Unsloth Studio + 13 per-source palettes + DuckDB-WASM + ComfyUI/InvokeAI generative pipeline.
Open repo on GitHubgithub.com/cianfhoghlaim/gemini-hackathon
Python · ★ 1 · 0 forks · MIT · paperwork by the Cap'mmostly ai (inferred)light human (inferred)works-on-my-machine (inferred)other
listed 43 minutes ago by cianfhoghlaim · last checked 43 minutes ago
The owner didn't write this. This repo never submitted itself. The Cap'm found it on a truffle trawl and wrote its paperwork from what GitHub already shows. Picked by hand by the Cap'm on 2026-10-04: geminihackathon — Per-Source Theming Across the British Isles. Google All Things Agentic Hackathon submission.; its own README says "Built with Gemini 3". 1 stars; MIT license. The owner did not submit this. Votes count; awards don't until the owner claims it.

I'm not calling your project slop! Geeze, it's a joke... Do you own this repo?

Log in with GitHub as cianfhoghlaim. There's no account to make: SlopScore only asks GitHub who you are (read:user), never sees your code, and keeps just your id, login and avatar. Then you can:

  • Keep it, on your terms. Commit your own slopscore.md (spec) and press Refresh. Your paperwork replaces the Cap'm's, and you can submit it for Slop of the Day.
  • Take it down. One click on Remove. It stays gone; the trawl never brings it back.

Log in with GitHub

Can't log in as the owner? Request a takedown. No login needed, and a trawled listing comes down right away.

GitHub says
gemini_hackathon — Per-Source Theming Across the British Isles. Google All Things Agentic Hackathon submission. Gemini 3.5 + Gemma 4 via Unsloth Studio + 13 per-source palettes + DuckDB-WASM + ComfyUI/InvokeAI generative pipeline.
created
2026-08-24 · pushed 2 weeks ago · 103 commits · 5 contributors
languages
Python 77%Jupyter Notebook 8%TypeScript 6%BAML 5%HCL 2%Shell 1%
paperwork
pull request templatelicensereadme 57% health
dependencies
no dependency graph (no manifest, or disabled) · OSV.dev, checked 43 minutes ago

Disclosures, inferred by the Cap'm

slopbucket
vibe-coded
category
other
ai_generated
mostly
human_touch
light
status
works-on-my-machine
language (detected)
bamldockerfilehcljupyter-notebookmakefilepythonshelltypescript
license (detected)
mit

The Cap'm's log

The Cap'm wrote this paperwork, not the owner. This repo never submitted itself to SlopScore. The Cap'm picked it by hand: geminihackathon — Per-Source Theming Across the British Isles. Google All Things Agentic Hackathon submission.; its own README says "Built with Gemini 3". It carries the MIT license. The disclosures above are his best guess from what GitHub shows.

Is this yours? Commit a real slopscore.md and press Refresh to replace this, or remove the listing in one click. There's no account to make: you log in with GitHub.

README — the repo's own words, folded up so the grading fits on one screen

gemini_hackathon — The British Isles Education Platform

Submission scope: this demo runs on 97 in-scope PDFs (5 NCCA policies + 5 NCCE artefacts + 87 English Leaving Cert syllabi + 1 sample). The full BIEP substrate (DLT + CocoIndex + BAML + Google ADK + Gemma 4 + Gemini 3.5 + A2UI + Gradio + Web SPA) is preserved. See docs/SUBMISSION_SCOPE.md for the full scope and the 8 jurisdictions that are deferred for this submission.

Google All Things Agentic 2026 Hackathon submission. Built with Gemini 3.5 (Vertex AI) + Gemma 4 26B-A4B (Unsloth Studio) + the Google ADK 2 agent framework. Deployed on Google Cloud Run with the editorial canvas on Hugging Face Spaces. The British Isles education system: Aistear → Bunscoil → MeanScoil → Scoil Sinsearach → Ollscoil across 9 jurisdictions (Ireland + England active; NCCE cross-jurisdiction for the showcase; NI / Wales / Scotland / IoM / Jersey / Guernsey as Phase 2).

MIT Python 3.11+ Gradio 5.28+ CI OpenSpec


1. The NCCE learning graph showcase — NEW (2026-08-31)

The headline feature of the 2026-08-31 batch. The UK NCCE (National Centre for Computing Education) publishes its computing curriculum as structured row × column learning graphs — the canonical example of how every official syllabus should be modelled. The 5 lifted PDFs:

File Source Shape
learning_graph_intro_to_python_programming_y8.pdf leabharlann/.../pgce/syllabus/ 4 rows × 7 columns + prerequisite arrows (Y8 Python)
learning_graph_programming_essentials_in_scratch_parts_i_ii_y7.pdf leabharlann/.../pgce/syllabus/ 6 columns + 3 cross-cutting skill ribbons (Y7 Scratch)
learning_graph_variables_in_games_y6.pdf leabharlann/.../pgce/syllabus/lessons/ Y6 unit (Variables in Games)
pedagogy_principles.pdf leabharlann/.../pgce/syllabus/ 12 cross-cutting pedagogy principles
curriculum_journey_full_2024_2025.pdf NCCE S3 Full Y7→Y11 NCCE Computing journey

1.1 The data flow (5 stages)

NCCE PDF → DLT resource → CocoIndex App → BAML extraction → Dagster asset → Firestore + Gradio SVG
  1. DLT (dlt_pipelines/uk_ncce_learning_graphs.py) — emits 11 rows into official_documents
  2. CocoIndex (cocoindex_flows/uk_ncce/learning_graphs_app.py) — Docling converter that preserves the row × column grid via the new _shared/_docling_grid_segmenter.py
  3. BAML (baml_extracts/learning_graph.baml) — 8 classes + 9 functions; 6 per-subject extractors for Computer Science, Mathematics, English, Gaeilge, Chemistry, Geography
  4. Dagster (orchestration/defs/3_model_lifecycle/uk_ncce_learning_graphs.py) — 11 assets; sensor on data/bi_ep/syllabi_raw/uk_ncce/
  5. Gradio + HF Space + React (gemini_hackathon_gradio/an_learning_graph/, hf_spaces/gemini_hackathon_learning_graphs/, web/src/routes/learning-graphs/) — 4-tab studio: Render / Equivalencies / Generate from PDF / Pedagogy overlay

1.2 Cross-jurisdiction equivalencies

Every cell in every jurisdiction's learning graph has a pointer to its equivalent cells in the 7 other BI jurisdictions. Powered by ExtractCellEquivalencies (Change B). Visualised as a Sankey diagram.

1.3 Pedagogy overlay

Every cell is coloured by which of the 12 NCCE pedagogy principles it uses (PRIMM, pair programming, semantic waves, etc.). Principles are dynamically extracted from pedagogy_principles.pdf and cached to disk + Cognee (Change C).

[SCREENSHOT placeholder — the SVG grid of the Y8 Python learning graph with pedagogy overlay]


2. The August 2026 refactor — three eras

2.1 The 17-workstream W0–W14 refactor (2026-08-27)

W What
W0 minimal unblock (document dupe web/components, add KNOWN_ISSUES.md)
W1 dependency pin: google-adk 2.7.1+, gradio 5.28+, huggingface_hub 0.30+, lancedb, falkordb, graphiti-core, cognee, fastmcp
W2 5 NCCA policy PDFs as committed data — the certificate source of truth
W3 gemini_hackathon_gradio/ — the 5 editorial studios + shared library
W4 lift sruth/tuath non-mythology + /dev/tuatha subject wiring + deferred-tuatha openspec change
W5 Ireland K-12 BAML + DLT + CocoIndex (Primary + Secondary)
W6 leabharlann general sources + UoG archives (manifests only)
W7 5 ADK 2 stage coordinators + 5 reusable workflow pillars
W8 memory layer (MarkdownMemoryService) + knowledge_graph/hybrid_search.py
W9 skill-progression ledger (Firestore + Vertex AI Vector Search + Firestore graph)
W10 FIBO image generation — 14 NCCA subjects × 5 stages prompt bank
W11 9 subnations (Ireland + England + NCCE active; NI/Wales/Scotland/IoM/Jersey/Guernsey Phase 2)
W12 the big Gradio editorial studio on Cloud Run (monolithic + gr.Workflow canvas)
W13 5 HF Spaces at cianfhoghlaim/gemini_hackathon_<stage>
W14 the LC/JC certificate pipeline — the SHOWCASE

2.2 The 4 NEW 2026-08-30 changes (GCP-first era)

  • gcp-first-iac-refactor-v1 — Phase 0: drops Komodo/Pangolin/Locket/Infisical for Cloud Run + Secret Manager + WIF + 11 Terraform modules
  • observability-otel-completeness-v1 — Phase 1: ADK OTel OTLP path + OpenInference Langfuse instrumentor + 6 Stackdriver env vars
  • cocoindex-pdf-pipeline-v1 — Phase 2: pdf_to_markdown App (Docling converter) + Dagster asset + MLflow benchmark
  • retire-letta-wire-vertex-memory-bank-v1 — Phase 0 (memory): replaces Letta with VertexAiMemoryBankService + MarkdownMemoryService + InMemoryMemoryService

2.3 The 3 NEW 2026-08-31 changes (Learning Graph era)

  • uk-ncce-learning-graph-showcase-v1 — the headline change (see §1)
  • learning-graph-equivalency-graph-v1 — extends ExtractEquivalencies from linear topics to cell-level (48 jurisdiction × subject cross-walks)
  • pedagogy-overlay-renderer-v1 — dynamic extraction + disk + Cognee cache for the 12 NCCE pedagogy principles; renders the annotated SVG

The Celtic 5-element palette (Talamh / Uisce / Tine / Aer / Anam) was REPLACED with the 5-stage British Isles education palette (Aistear / Bunscoil / MeanScoil / Scoil Sinsearach / Ollscoil). The Hades Shadow-First dark theme is preserved.

See ARCHITECTURE.md for the full picture, or docs/TUATHA_CONSOLIDATION_MAP.md for what was absorbed from sruth/tuath and /dev/tuatha.


3. The LC/JC certificate pipeline (the SHOWCASE — W14)

Every claim on every generated certificate cites a page from one of the 5 NCCA policy PDFs:

SC-L1-L2-Programme-Statement.pdf,
key-competencies-in-senior-cycle_en.pdf,
the-potential-of-online-learning-environments_en.pdf,
the-potential-of-technology-to-support-online-certification-and-reporting.pdf,
scr-advisory-report_en.pdf

The pipeline (7 stages): extract_criteria → decompose_outcomes → extract_paper+marking → search_official → generate_background → compose_certificate → save_to_provenance.

Output: PNG (~80 KB) + PDF (~700 B) with the awarding-body palette background + competency strip + provenance footer + UNOFFICIAL banner.


4. Repository layout

gemini_hackathon/
├── pyproject.toml + requirements.txt + Makefile
├── gemini_hackathon/                       ← the Python package
│   ├── agents/                             ← W7 — 5 stage coordinators + 5 pillars
│   ├── assets/                             ← the image-gen router
│   ├── call_llm.py + backend.py            ← the LLM gateway
│   ├── certificate/                        ← W14 — the LC/JC certificate pipeline
│   ├── cli.py + __main__.py + compare.py
│   ├── knowledge_graph/                    ← W8 — hybrid search (LanceDB + FalkorDB)
│   ├── ledger/                             ← W9 — skill-progression ledger
│   ├── memory/                             ← W8 — MarkdownMemoryService
│   ├── models/ + model_registry.py
│   ├── observability.py
│   ├── ocr.py + ocr_ensemble.py
│   ├── progression/                       ← existing LC/JC certificate schema
│   ├── session/
│   ├── sources.py + theming.py
│   └── subnations.py                       ← W11 — 9 jurisdictions
├── gemini_hackathon_gradio/                ← W3 — the 5 editorial studios + 2026-08-31 an_learning_graph
├── gemini_hackathon_assets_fibo/            ← W10 — the FIBO image-gen pipeline
├── gemini_hackathon_backend/                ← 2026-08-30 — the ADK 2 Cloud Run service
│   ├── agents/ + memory.py + observability.py + main.py
│   ├── catalog/                            ← the Lake namespace adapter
│   └── tests/
├── baml_extracts/                          ← BAML contracts (existing + 2026-08-31 learning_graph.baml)
├── baml_extracts_education/                ← W4+W5 — lifted from cianfhoghlaim
├── cocoindex_flows/                        ← W5 + 2026-08-30 + 2026-08-31
│   ├── _shared/                             ← shared_lifespan + _vector_target + _docling_grid_segmenter
│   ├── ireland/                             ← per-stage embedding apps
│   ├── pdf/                                 ← Phase 2b Docling converter
│   ├── uk_ncce/                             ← 2026-08-31 NCCE learning graph App
│   ├── equivalency/                         ← Phase 4a equivalency graph
│   ├── education/                           ← W14 BAML extraction target
│   └── _factory/                            ← bi_jurisdiction + four_stage
├── dlt_pipelines/                           ← W5 + 2026-08-30 + 2026-08-31
│   ├── ireland/                              ← 6 NCCA subject pipelines
│   ├── uk_ncce_learning_graphs.py            ← 2026-08-31 (jurisdiction #9)
│   ├── official_doc_fetcher.py
│   ├── pdf_downloader.py
│   ├── corpus_downloader.py
│   └── _shared.py + _base/ + _subject_base.py
├── data/
│   ├── ireland/ncca_policy/                ← W2 — 5 NCCA policy PDFs
│   ├── bi_ep/                              ← 2026-08-30 PDF→Markdown substrate
│   │   ├── syllabi_raw/                      ← raw PDFs (gitignored)
│   │   │   ├── ireland/                       ← NCCA + SEC + DES PDFs
│   │   │   └── uk_ncce/                       ← 2026-08-31 (5 NCCE PDFs)
│   │   ├── syllabi_md/                       ← Docling-converted Markdown
│   │   └── extracted_syllabi.sqlite          ← the BAML extraction target
│   ├── leabharlann/                         ← W6 — leabharlann corpus (manifests only)
│   ├── equivalencies/, jurisdictions/, marking_schemes/, policies/, sources/, syllabi/
├── themes/                                  ← awarding-body palettes (NCCA, AQA, OCR, ...)
├── web/                                    ← Firebase-native TanStack Start web (post Firebase migration)
│   └── src/routes/learning-graphs/         ← 2026-08-31 NCCE landing page (embeds HF Space)
├── hf_spaces/                               ← W13 + 2026-08-31 (6 headline demos)
│   ├── _generate.py
│   ├── gemini_hackathon_{aistear,bunscoil,junior_cycle,leaving_certificate,editorial_studio}/
│   └── gemini_hackathon_learning_graphs/   ← 2026-08-31
├── orchestration/                           ← 2026-08-30 + 2026-08-31
│   ├── defs/                                ← 5-layer Dagster defs tree
│   │   ├── 1_ingestion/
│   │   ├── 2_materials/
│   │   ├── 3_model_lifecycle/               ← NCCE learning graph assets (2026-08-31)
│   │   ├── 4_asset_generation/
│   │   └── 5_agent_ops/
│   └── storage/                             ← BigQuery client + DuckLake client
├── openspec/changes/                       ← W16 — 26 openspec changes (23 + 3 NEW 2026-08-31)
├── docs/                                   ← W15 — the docs (TUATHA_CONSOLIDATION_MAP, KNOWN_ISSUES, LEARNING_GRAPH_SHOWCASE, ...)
├── notebooks/                              ← the 14 marimo + ipynb walkthroughs (00_theming … 13_pedagogy_overlay)
├── cloud/                                  ← GCP-native IaC
│   └── terraform/
│       ├── cloud_run_adk.tf + cloud_run.tf + cloud_run_jobs.tf + cloud_run_journey.tf
│       └── modules/                          ← 11 Terraform modules (per Phase 5 GCP-first IaC)
├── cloudbuild.yaml + Makefile + README.md
└── firestore.{json,rules,indexes.json}     ← Firebase-native schema + NCCE collections

5. The data plane

5.1 VLM + OCR ensemble

The 4-path OCR/VLM ensemble (BAML + Docling + EasyOCR + Tesseract) with RAGAS voting + MLflow observability. Scanned-PDF detector (is_scanned_pdf()) routes to the recommended backend via select_ocr_backend(). The 22 VLM + 6 classical OCR entries live in MODEL_REGISTRY:ocr_vision (qwen3-vl-8b + qwen3-vl-4b added in 2026-08-25-tuatha-vision-models-v1).

5.2 CocoIndex flows

  • _shared/{_lifespan, _vector_target, _vertex_embedder, _docling_grid_segmenter} — canonical lifespan + dual-backed vector target (Firestore default / Vertex AI Vector Search) + VertexEmbedder + grid-preserving Docling segmenter (2026-08-31)
  • ireland/ — per-stage embedding apps for the 6 NCCA LC subjects
  • pdf/pdf_to_markdown_app.py — Phase 2b Docling converter
  • uk_ncce/learning_graphs_app.py — 2026-08-31 NCCE learning graph App
  • _factory/{bi_jurisdiction, four_stage} — the 114-App 4-stage BI factory
  • equivalency/equivalency_graph_app.py — Phase 4a cross-jurisdiction graph
  • education/lc6_extraction_app.py — W14 BAML extractor target

5.3 DLT pipelines

  • 6 NCCA LC subjects + cross-jurisdiction + jurisdiction sensors
  • pdf_downloader.py (Phase 2) + corpus_downloader.py + official_doc_fetcher.py
  • uk_ncce_learning_graphs.py (2026-08-31 — jurisdiction #9)
  • DLT 1.30 features: refresh + dlt[hub] + pipeline.dataset()
  • DuckDB → BigLake Iceberg (prod) via orchestration/storage/bigquery_client.py:BIGQUERY_DATASET = "biep"

5.4 Dagster assets (5-layer architecture)

orchestration/defs/{1_ingestion, 2_materials, 3_model_lifecycle, 4_asset_generation, 5_agent_ops}. The 2026-08-31 NCCE learning graph assets (11) + equivalency assets (48) + pedagogy overlay assets (6) + 1 sensor live under 3_model_lifecycle/. Wired via dg CLI (Dagster 1.13+).

5.5 BAML extraction

  • baml_extracts/learning_graph.baml (2026-08-31) — 8 classes + 9 functions for the structured learning graphs
  • baml_extracts/extract_equivalency.baml — topic-level + cell-level equivalencies (extended in 2026-08-31 Change B)
  • baml_extracts_education/{celtic_curriculum, subjects/*}.baml — per-subject BAML contracts with strand + BloomLevel metadata

6. The lakehouse stack (GCP-first substrate)

6.1 Local dev (docker-compose)

pgvector/pgvector:pg17 + lake-keeper-rust + lance-namespace + cognee + falkordb + memgraph + clickhouse + garage (S3) + olake (CDC). Langfuse v3 :3001 + MLflow v2.20 :5050 (the dual-purpose local observability stack).

6.2 Prod (Cloud Run + BigLake)

  • Cloud SQL Enterprise HA (Postgres)
  • Memorystore Standard M3 (Valkey)
  • BigQuery dataset biep (via orchestration/storage/bigquery_client.py)
  • Lance namespace iceberg backend → BigLake Iceberg REST (Lakekeeper)
  • GCS bucket for the PDF→Markdown raw + md pairs

6.3 Terraform modules (11 modules under cloud/terraform/modules/)

cloudrun_service, cloudrun_secret_mount, cloudsql_postgres, memorystore_valkey, gcs_bucket, bigquery_dataset, firestore_database, artifact_registry_repo, workload_identity_gha, cloudbuild_trigger, iam_gcp_ai_agent_adk.


7. The memory + observability layer (post-Phase 0/1)

7.1 Memory

  • VertexAiMemoryBankService (prod, when DEPLOYED_AGENT_ENGINE_ID is set)
  • MarkdownMemoryService (dev/offline, when GH_MEMORY_DIR is set)
  • InMemoryMemoryService (default fallback)
  • before_agent_callback → add_session_to_memory
  • letta_agent_id field renamed to memory_namespace (semantics change, same shape)

7.2 Observability

  • ADK OTel OTLP path → Cloud Trace + Cloud Logging + Cloud Monitoring
  • 6 Stackdriver env vars (per the Stackdriver AI Agent ADK doc)
  • OpenInference Langfuse instrumentor (wraps every ADK call as a nested Langfuse span)
  • Langfuse v3 :3001 + MLflow v2.20 :5050 (local dev)

8. The 5-stage British Isles education palette + Hades Shadow-First

aistear          dawn-orange       #e8915c
bunscoil         sea-blue          #1e80c6
meanscoil        meadow-green      #28955e
scoil_sinsearach harvest-gold      #cc9966
ollscoil         scholarship-indigo #5a4fcf

Hades Shadow-First is preserved as the dark-mode foundation.


9. The 14-subject SUBJECT_WIRING_REGISTRY + 5 ADK 2 stage coordinators

8 NCCA + 6 NCCA-adjacent subjects. The 2026-08-31 NCCE showcase adds a 9th routing key (learning_graph) for the structured cross-walk view.

The 5 ADK 2 stage coordinators (gemini_hackathon/agents/stages/) and the 5 reusable workflow pillars (gemini_hackathon/agents/workflows/) remain the runtime substrate.


10. The 9 subnations + awarding-body palettes

Read the rest on GitHub

Scan report · 2026-10-04
  • ✓ Prohibited terms or links
  • ✓ Repository eligibility
  • ✓ slopscore.md paperwork
  • ✓ Content policy
  • ✓ Risk review

From the balcony · 0 of 3 clapped

    Crusoe, Schnitzel and Cap'm Slop read it and passed. Their reasons are on the balcony, with every other verdict.

    Critics are accounts on this site with no GitHub account behind them. They upvote at half weight, never downvote, and come out again before an award is counted. Who they are.

    0 comments

    log in to comment.

    report this listing — log in to report