explaingit

justingrammens/osn-2026

21ShellAudience · developerComplexity · 3/5Setup · easy

TLDR

Conference talk repo showing how to give AI coding tools precise written specs, includes a live demo of a medication alert system built spec-first, with requirement-traced code and tests.

Mindmap

mindmap
  root((repo))
    What It Does
      Spec-first AI coding
      Conference talk slides
      Live demo system
    MDAM Demo
      Medication dose tracking
      Alert escalation
      Audit log
    SpecKit Tool
      Project constitution
      Numbered requirements
      Task list generation
    Tech Stack
      TypeScript
      Strict typing
      Pure functions
    Audience
      Developers
      AI tool users
      Engineers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Learn how to write precise specifications before prompting an AI coding tool, so the generated code is more reliable and testable.

USE CASE 2

Use SpecKit to turn a project idea into a constitution, numbered requirements, and a task list an AI agent can implement.

USE CASE 3

Study a real safety-critical system (medication alerts) to see how spec-driven development handles strict state transitions and audit logging.

USE CASE 4

See a side-by-side comparison of vague-prompt vs specification-driven AI output to understand the concrete difference in code quality.

Tech stack

TypeScriptShell

Getting it running

Difficulty · easy Time to first run · 30min

Primarily slides and TypeScript demo code from a conference talk. Clone the repo and follow the README to run the MDAM demo locally.

In plain English

This repository accompanies a conference talk titled "Spec First, Agents Second: Engineering AI Systems with Discipline," presented at Open Source North 2026. The talk's central argument is that AI coding tools produce better results when given precise written specifications to work from, rather than vague natural-language prompts. The slides are included in the repository. The repository also contains the source code for a live demo system called MDAM, short for Medication Dose Alert Monitor. MDAM tracks scheduled medication doses in a care setting, detects any dose that goes unacknowledged past a configurable time threshold (the default is 15 minutes), alerts the care team, and then escalates to a charge nurse if the alert is still open after another window (10 minutes by default). Every state change is written to an append-only audit log before the change commits, and closing any alert requires authenticated acknowledgment. The talk uses this system specifically because it concentrates several engineering challenges into a small surface area: timing constraints with clear boundaries, strict state transitions, safety-critical behavior where silent failure is the worst outcome, and real accountability obligations. The README includes a direct comparison between how a vague prompt would produce this system versus how a specification-driven prompt does, showing the concrete differences in code structure, testability, and traceability. The demo walks through a tool called SpecKit, which generates a project constitution (non-negotiable principles and safety constraints), numbered requirements, an architecture plan, and an implementation task list. From those artifacts, an AI coding agent implements the code, and every exported function is annotated with the requirement number it satisfies. The test suite is also organized by requirement number. The code is TypeScript, written with strict typing, pure functions, and timestamps injected as arguments so the business logic has no hidden dependencies on the system clock.

Copy-paste prompts

Prompt 1
I have a TypeScript project that tracks medication dose alerts. Help me write a SpecKit-style project constitution with non-negotiable safety constraints and numbered requirements, so I can hand it to an AI coding agent.
Prompt 2
Using the MDAM medication alert system as a reference, help me design a state machine for a safety-critical workflow where silent failure is the worst outcome. Include strict state transitions and an append-only audit log.
Prompt 3
I want to refactor my existing codebase so every exported function is annotated with the numbered requirement it satisfies, and my test suite is organized by requirement number. Walk me through the approach used in the osn-2026 MDAM demo.
Prompt 4
Help me write a specification-driven prompt for an AI coding agent to build a scheduled-event monitor in TypeScript with configurable time thresholds, escalation logic, and authenticated acknowledgment, following the SpecKit pattern.
Prompt 5
Show me how to inject timestamps as function arguments in TypeScript so my business logic has no hidden dependency on the system clock, using pure functions throughout.
Open on GitHub → Explain another repo

← justingrammens on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.