Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 7 additions & 22 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,12 @@
# Changelog

## 0.3.0 — 2026-09-06
## 0.4.0 — 2026-09-06

- Expand the engineering pack to 40 lessons with eight ordered AI modules and a Kafka consumer-lag lesson in Distributed systems.
- Keep the previous 31-lesson pack byte-for-byte, with an explicit preview option for reopening its notebooks. New pack selection creates separate histories.
- Add original teaching material and unsolved framework/capstone exercises; retain the existing FDE route and shared lessons.
- Refresh the practice screenshot and add an actual AI-route capture with reviewed metadata and exact-byte checks.
- Remove bundled engineering curriculum, exercise materials and content screenshots from the current release.
- Replace the former default with one fictional observation sample under a new pack identity.
- Keep imported packs, browser storage keys and revision histories intact.
- Document a user-controlled repository-to-JSON pipeline and provide a local pack validator.

Validation: 78 application tests, syntax and static build checks, publication scans of current files and reachable history, and independent content/privacy review. Real-interface checks covered all six filters, all nine new lesson entry points, AI and Kafka recognition/model gates, 375px layout, keyboard focus, manual reduced motion, and reopening the unchanged previous notebook. No learner exercise was solved or live framework, Kafka cluster, provider or deployment experiment run for these materials.
## Earlier releases

## Documentation update — 2026-09-06

- Add four actual-app screenshots with labelled demo data, capture details and exact-byte publication checks.
- Replace the README overview with a feature table and clarify local tutoring, storage, pack revisions and release limits.

## 0.2.0 — 2026-09-06

- Add an optional engineering pack: 31 lessons, six tracks and 96 exercise/material files. The original starter pack and its record identity stay unchanged.
- Add lesson conversations with Explain, Quiz and Check modes, saved drafts, cancellation, retry and archival exports.
- Keep Codex off by default. Each installer explicitly connects their own supported CLI; static hosting provides a copyable prompt.
- Add privacy, security, architecture, contribution, setup and testing documentation.
- Publish only explicit browser assets through GitHub Pages. Add automated publication checks and pin workflow actions to reviewed revisions.

Validation: 73 automated tests, syntax and build checks, current-file and reachable-history publication scans, six-track browser checks, pack/conversation isolation, mobile layout, and one live macOS tutoring response. Synthetic process tests cover cancellation and timeout. A model response is not proof of teaching quality or learner understanding. Linux live-model operation and Windows local chat are outside this verification.

The maintainer's contact email is intentionally public. The publication policy permits that exact address in commit metadata while preserving all credential and private-file checks.
Versions 0.2.0 and 0.3.0 included generic engineering curriculum and fictional exercises that were intentionally public. Those files remain recoverable in Git history and existing copies; this release does not rewrite history. Earlier releases also introduced portable packs, tutoring through an operator-owned Codex connection, themes, focus rewards, notebook backups and application screenshots.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Contribute a bounded improvement that helps a learner begin, understand, practis

For README images, follow the [screenshot capture and review procedure](docs/screenshots/README.md). Only reviewed demo captures belong in documentation.

Keep the three-lesson starter stable unless a deliberate content revision is intended. New engineering material belongs in its own pack revision. A pack fingerprint selects a separate notebook; document that consequence instead of silently migrating progress.
Keep this repository focused on the reusable app and its small fictional schema sample. Author curricula and exercise materials in a separate repository under your own access policy. A pack fingerprint selects a separate notebook; document that consequence instead of silently migrating progress. Do not add private repository links or learner exports to examples, fixtures or screenshots.

AI connection changes need explicit local opt-in, a provider with no executable tools, no browser credentials, bounded requests, failure recovery and independent review. Do not add a public proxy or shared API key as a convenience. GitHub Actions uses synthetic tests and must never require a contributor's Codex auth.

Expand Down
4 changes: 2 additions & 2 deletions PACKS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Study pack format

The included [engineering pack](packs/engineering.json) provides 40 lessons across six tracks. Preview it from **Study packs**; selection is explicit and its records stay separate from the original starter. The previous 31-lesson [engineering-v1 pack](packs/engineering-v1.json) remains available for reopening its records. See the [track guide](docs/STUDY_TRACKS.md) for prerequisites and exercise materials.
Keep your curriculum in a repository or folder you control. This public app includes one fictional observation sample to demonstrate the schema. It bundles no engineering study tracks or exercise materials. See [the local content pipeline](docs/CONTENT_PIPELINE.md) for building, validating and importing your own pack.

Start by downloading **Study packs → Download current pack** or copying [`packs/starter.json`](packs/starter.json). The version 1 envelope is:

Expand All @@ -18,7 +18,7 @@ Start by downloading **Study packs → Download current pack** or copying [`pack
}
```

The envelope above is illustrative; an import needs at least one complete session. Copy a real session from the starter file to preserve its required fields.
The envelope above is illustrative; an import needs at least one complete session. Copy the fictional sample session to preserve its required fields.

| Field | Purpose |
| --- | --- |
Expand Down
8 changes: 6 additions & 2 deletions PRIVACY.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Privacy and data flow

Padipps stores learning records in your browser. Optional local tutoring uses your own Codex sign-in after explicit startup and Send. This repository contains reusable software and fictional study material, not a shared account or learner database.
Padipps stores learning records in your browser. Optional local tutoring uses your own Codex sign-in after explicit startup and Send. The current release contains reusable software and one fictional schema sample.

## What stays local

Expand All @@ -22,7 +22,11 @@ GitHub Pages serves only the static allowlist. It has no chat backend and no cre

## Publication boundary

The repository includes original lessons, intentionally unsolved starter exercises and explicitly fictional fixtures. It excludes private teaching profiles, learner logs, personal records, private curriculum pointers, credentials, local provider settings and private Git history. Public contributor names/handles and retained upstream license attribution are ordinary public repository metadata.
The current tree and static build contain no bundled study-track curriculum or exercise materials. Authors keep that content in their own repositories. This app has no link or authentication connection to a maintainer curriculum repository. Public contributor names/handles and retained upstream license attribution remain ordinary public repository metadata.

Earlier releases intentionally published generic engineering lessons and fictional exercise fixtures. Removing those files from this release does not erase Git history, old commits, forks, clones or cached copies. We have not rewritten history and cannot describe previously published material as private. The new private curriculum must remain outside this public repository.

Updating the app does not delete imported packs or learner records already in your browser. An imported pack continues to load. The former built-in starter has a different identity from the new sample: import your retained exact old JSON file to reopen its records. Keep the same host, port and browser profile, and retain notebook and focus backups.

The maintainer has chosen to publish the contact address linked in the README, including its use in GitHub commit metadata. `publication-policy.json` records this exact opt-in; it does not authorize publishing other people's contact details, credentials, learner records or local configuration.

Expand Down
38 changes: 11 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,48 +4,30 @@ Padipps is a study app for practising concepts, keeping lesson notes and running

Your work stays in your browser. Optional tutoring connects to your own Codex account on your computer. The name is inspired by colloquial Tamil around studying.

[Try Padipps](https://siddath.github.io/padipps/) · [Study tracks](docs/STUDY_TRACKS.md) · [Create a pack](PACKS.md) · [Codex setup](docs/CODEX.md)
[Try Padipps](https://siddath.github.io/padipps/) · [Bring your repository](docs/CONTENT_PIPELINE.md) · [Create a pack](PACKS.md) · [Codex setup](docs/CODEX.md)

![Padipps practice library in the Ink theme, with 40 lessons and six track filters](docs/screenshots/practice.jpg)
![Padipps practice library with one fictional observation sample in the Ink theme](docs/screenshots/sample.jpg)

*The running app with the engineering pack selected. Screenshots use an isolated demo session; no personal study records or account details appear. [Capture details](docs/screenshots/README.md).*
*The actual application with its fictional format example. [Capture details](docs/screenshots/README.md).*

## Features

| Feature | What you can do |
| --- | --- |
| Guided practice | Recognise the problem, work through a small model and trace, explain it back, then attempt an independent task. Record an outcome, evidence and a review date. |
| Study library | Start with three lessons or select the optional engineering pack: 40 lessons across six overlapping tracks, including an eight-module AI route and a Kafka consumer-lag lesson. Filter by track and search within it. |
| Your study library | Import your own curriculum, filter its tracks and search its lessons. The app includes one fictional observation sample to demonstrate the format. |
| Notebook | Link notes to lessons, search them, mark them Open, Revisit or Resolved, and inspect up to 20 previous versions. Drafts save as you type. |
| Focus timer | Configure focus, short-break and long-break intervals. Pause, resume or reload without losing the timer. Start each interval yourself. |
| Study shelf | Reveal a book after a finished focus timer. Choose philosophy, art or spirituality ideas with source links and reflection questions, or turn ideas off. |
| Appearance | Choose Ink, Sand, Midnight, Violet, Rose or Graphite; collapse the sidebar; use GSAP transitions with system or manual reduced motion. |
| Lesson conversations | Use Explain, Quiz me or Check my understanding. Each lesson has saved messages and drafts, Stop/Retry, and Markdown/JSON conversation archives. In-app answers require the optional local Codex connection. |
| Local content pipeline | Build a validated JSON pack from two files in a repository you control. Import and preview it yourself; repository authentication stays in your Git tools. |
| Portable study packs | Preview and import data-only JSON packs for your own subjects. Each pack revision keeps its own notebook, focus and conversation history. |
| Backups | Export notebook Markdown for an editor or Obsidian, restore notebook JSON, and export/restore focus records through their separate backup controls. |

Practice outcomes are self-reported. A completed timer records elapsed time; it does not establish attention or understanding. The app does not run learner code or grade mastery. Book ideas are editorial interpretations, with sources, rather than quotations.

<details>
<summary>More screenshots: AI route, notebook, focus timer and book reveal</summary>

**AI route, Ink theme.** Eight modules in order, followed by two shared API exercises.

![Padipps AI track showing ten lessons and the LLM foundations starting point](docs/screenshots/ai-route.jpg)

**Notebook, Violet theme.** A sample note marked Revisit, with zero practice attempts recorded.

![Padipps notebook with a labelled demo note, Revisit status and Markdown export](docs/screenshots/notebook.jpg)

**Focus room, Sand theme.** A short break ready to start after a five-second QA timer.

![Padipps focus room showing a five-minute short break and book illustration](docs/screenshots/focus.jpg)

**Study shelf, Sand theme.** The QA book opens a reflection on Epictetus with a source link. This is a test reward, not a learner achievement.

![Padipps study shelf showing a five-second QA book and a source-linked reflection](docs/screenshots/shelf.jpg)

</details>
![Padipps Study packs screen for importing material from your own repository](docs/screenshots/import.jpg)

## Run locally

Expand All @@ -63,9 +45,11 @@ The [hosted app](https://siddath.github.io/padipps/) supports practice, notes, f

## Choose your study material

Open **Study packs → Preview engineering pack → Use this pack**. The included tracks cover DSA, backend engineering, distributed systems, AI application engineering, forward deployed engineering/customer delivery and product design. Follow the [eight-module AI route](docs/AI_ROUTE.md) from LLM foundations through a production capstone. Kafka consumer lag belongs to Distributed systems. Some lessons belong to more than one track. See the [track guide](docs/STUDY_TRACKS.md) for counts, prerequisites and the fictional customer-delivery capstone, and [exercise materials](materials/engineering/) for unsolved starters.
Keep your curriculum in a separate repository you control. Open **Study packs → Import study pack JSON**, select a pack, inspect the preview and choose **Use this pack**. The included fictional sample demonstrates the lesson format; no engineering curriculum or exercise collection is bundled.

The [local content pipeline](docs/CONTENT_PIPELINE.md) builds a pack from `pack.json` metadata and `sessions.json` lesson data. Use your own converter for Markdown or CMS sources, validate its output, then import the JSON. Padipps does not clone repositories, store GitHub credentials, fetch private files or automatically synchronize changes. [PACKS.md](PACKS.md) documents the schema and extension rules.

The original three-lesson starter and [previous 31-lesson engineering pack](packs/engineering-v1.json) stay available. Switching packs preserves its records. To create another subject, download the current pack as a template, edit its JSON, then import and preview it before choosing **Use this pack**. [PACKS.md](PACKS.md) documents lesson fields, validation and extension rules.
Earlier releases intentionally included generic engineering material. It has been removed from the current tree and website; historical commits, forks and downloaded copies remain public. New private curriculum must stay outside this repository. Existing imported packs remain in browser storage. To reopen a former built-in pack's records, import your retained exact old pack JSON at the same browser origin.

Keep copies of the exact pack files you use. Backups belong to a pack ID and SHA-256 content fingerprint; even an editorial change creates a separate revision. Switching revisions does not merge histories. Import validation checks structure and safe links, not teaching accuracy.

Expand Down Expand Up @@ -108,7 +92,7 @@ npm run build

Use a disposable port and `?qa#today` for interface checks. QA has separate record storage and a five-second timer; its entries are test data. GitHub Actions runs the checks and publishes the static asset allowlist from the default branch without model credentials.

Read [contribution guidance](CONTRIBUTING.md), [architecture](docs/ARCHITECTURE.md), [testing](docs/TESTING.md) and [security reporting](SECURITY.md). Pack authoring tools, accessible sound controls and opt-in sync are possible contributions, not features in this release.
Read [contribution guidance](CONTRIBUTING.md), [architecture](docs/ARCHITECTURE.md), [testing](docs/TESTING.md) and [security reporting](SECURITY.md). Markdown/CMS converters, accessible sound controls and opt-in sync are possible contributions; they are not included in this release.

## Contact and license

Expand Down
2 changes: 1 addition & 1 deletion app.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading