Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
46dd038
docs: add project documentation map
tim8es Sep 6, 2026
3e44a2f
docs: define PMO01 product contract
tim8es Sep 6, 2026
e3fed94
docs: define PMO01 learning model
tim8es Sep 6, 2026
5fff23c
docs: define PMO01 curriculum contract
tim8es Sep 6, 2026
bbfdba6
docs: define PMO01 content model
tim8es Sep 6, 2026
cfa0465
docs: define staged PMO01 product requirements
tim8es Sep 6, 2026
c2c3995
docs: define current and target PMO01 architecture
tim8es Sep 6, 2026
9aa2add
docs: define PMO01 validation metrics
tim8es Sep 6, 2026
075603e
docs: record A to C evolution strategy
tim8es Sep 6, 2026
5c8024b
docs: add PMO01 staged roadmap
tim8es Sep 6, 2026
840a060
docs: define PMO01 platform foundation design
tim8es Sep 6, 2026
8a68803
docs: mark current app as reference prototype
tim8es Sep 6, 2026
c06e028
docs: plan M01 learning validation
tim8es Sep 6, 2026
9f0f059
test: add prototype validation CI
tim8es Sep 6, 2026
97a426c
test: define M01 learning domain contracts
tim8es Sep 6, 2026
65b36d4
feat: add learning assessment domain
tim8es Sep 6, 2026
d563231
test: define M01 validation content contract
tim8es Sep 6, 2026
9e0211d
feat: add M01 validation cases and drills
tim8es Sep 6, 2026
d8d8137
test: define M01 validation UI contract
tim8es Sep 6, 2026
878e192
test: isolate M01 validation UI and persistence contracts
tim8es Sep 6, 2026
72b9d5b
feat: load M01 validation extension
tim8es Sep 6, 2026
db389da
feat: style M01 validation experience
tim8es Sep 6, 2026
34fdef7
feat: add M01 end-to-end validation flow
tim8es Sep 6, 2026
c4b636d
docs: add M01 learner validation protocol
tim8es Sep 6, 2026
7721d3b
docs: document M01 validation slice
tim8es Sep 6, 2026
47e3d94
test: add JavaScript syntax verification
tim8es Sep 6, 2026
a38c13c
docs: reconcile M01 validation plan with implementation
tim8es Sep 6, 2026
7192ba1
test: add M01 validation runtime smoke coverage
tim8es Sep 6, 2026
7d2507d
ci: update GitHub Actions runtime versions
tim8es Sep 6, 2026
b8133d0
test: keep baseline results blind until post-case
tim8es Sep 6, 2026
52d5094
fix: keep baseline results blind until post-case
tim8es Sep 6, 2026
aed3bc4
docs: keep baseline assessment blind until post-case
tim8es Sep 6, 2026
050ea6d
docs: finalize M01 validation verification checklist
tim8es Sep 6, 2026
d538184
docs: audit M01 curriculum and content-model readiness
tim8es Sep 6, 2026
9b68ef2
docs: add M01 learner session record template
tim8es Sep 6, 2026
1130e22
docs: add M01 cohort review decision template
tim8es Sep 6, 2026
b838294
docs: add Phase 1 validation operating documents
tim8es Sep 6, 2026
261f260
docs: update roadmap to current learner-evidence gate
tim8es Sep 6, 2026
82c4418
docs: close M01 implementation checklist
tim8es Sep 6, 2026
8d79022
docs: reconcile M01 implementation plan with verified gate
tim8es Sep 6, 2026
ae769d5
docs: minimize M01 evidence collection gate
tim8es Sep 6, 2026
ec4b33d
chore: publish M01 validation via GitHub Pages
tim8es Sep 6, 2026
3ce50de
chore: restore Pages workflow to main-only
tim8es Sep 6, 2026
d869f96
chore: deploy M01 validation after Pages activation
tim8es Sep 6, 2026
f589a9f
chore: use unrestricted environment for M01 Pages preview
tim8es Sep 6, 2026
f7a749e
fix: remove external font dependency from M01 preview
tim8es Sep 6, 2026
158c404
chore: restore standard Pages workflow after preview publication
tim8es Sep 6, 2026
00cce1c
chore: switch Pages to clean gh-pages source
tim8es Sep 6, 2026
d3001b3
chore: remove temporary Pages source switch workflow
tim8es Sep 6, 2026
4c8a02f
test: catch base-router conflict on M01 validation route
tim8es Sep 6, 2026
2fdd515
test: reproduce M01 hashchange route ownership conflict
tim8es Sep 6, 2026
a49d3e8
fix: yield M01 validation route to extension
tim8es Sep 6, 2026
ee98322
test: define clear lesson completion and primary learning path
tim8es Sep 6, 2026
6aaf61c
fix: make learning path and lesson completion explicit
tim8es Sep 6, 2026
6a93f54
style: add calm premium learning interface
tim8es Sep 6, 2026
9b79bb8
content: simplify M01 language for learners
tim8es Sep 6, 2026
976f80c
ux: connect v1.1 design and clearer navigation
tim8es Sep 6, 2026
5a8521a
style: introduce editorial instrument art direction
tim8es Sep 6, 2026
56a4f1b
style: switch PMO01 to editorial instrument theme
tim8es Sep 6, 2026
d18794f
docs: define M01 learning lab design
tim8es Sep 7, 2026
c27ad46
docs: plan M01 learning lab implementation
tim8es Sep 7, 2026
8775d52
test: define M01 learning lab data and readability contracts
tim8es Sep 7, 2026
04597bf
feat: define M01 learning lab exercises and workbooks
tim8es Sep 7, 2026
7cae68f
feat: load M01 learning lab data before app
tim8es Sep 7, 2026
908c5d3
test: define M01 learning lab runtime contract
tim8es Sep 7, 2026
3abfb41
feat: integrate M01 learning lab into lesson flow
tim8es Sep 7, 2026
16fcbb1
fix: make editorial instrument readable and style learning lab
tim8es Sep 7, 2026
3ce1956
test: catch stale learning lab completions
tim8es Sep 7, 2026
65e143b
fix: derive Learning Lab completion from current evidence
tim8es Sep 7, 2026
fc50694
test: reproduce stale M01 validation unlock
tim8es Sep 7, 2026
51edeee
fix: require current M01 evidence before post-case
tim8es Sep 7, 2026
9f58579
test: reproduce duplicated M01 validation drills
tim8es Sep 7, 2026
a42cf37
test: reproduce mutable M01 cold drill choice
tim8es Sep 7, 2026
9c8b6a1
test: drop duplicate validation drill requirement
tim8es Sep 7, 2026
ca87ae5
fix: remove duplicated M01 validation drills
tim8es Sep 7, 2026
35641eb
test: exercise cold drill lock through M01 extension
tim8es Sep 7, 2026
1f90dea
fix: freeze M01 cold drill first choice
tim8es Sep 7, 2026
eeba971
docs: decontaminate M01 cohort setup
tim8es Sep 7, 2026
c474363
test: define M01.1 content quality contract
tim8es Sep 7, 2026
54df481
feat: strengthen M01 learning content
tim8es Sep 7, 2026
8f8bff5
test: accept explicit M01 decision revision language
tim8es Sep 7, 2026
de03a40
test: align M01 static contract with strengthened cold drills
tim8es Sep 7, 2026
1024b87
docs: specify M01 playable simulator vertical slice
tim8es Sep 9, 2026
ca0a737
docs: plan M01 playable simulator implementation
tim8es Sep 9, 2026
7f95f16
test: define M01 simulator domain contract
tim8es Sep 9, 2026
03f34ef
test: define M01 simulator integration contract
tim8es Sep 9, 2026
11c87b1
test: align simulator domain contract to approved spec
tim8es Sep 9, 2026
89cdd36
test: align simulator storage contract to approved spec
tim8es Sep 9, 2026
84b61e5
docs: align simulator plan to approved runtime contract
tim8es Sep 9, 2026
2d6bc21
feat: add authored M01 simulator mission data
tim8es Sep 9, 2026
2cb852d
feat: add deterministic M01 simulator mission engine
tim8es Sep 9, 2026
5bbceb9
feat: add playable M01 simulator mission UI
tim8es Sep 9, 2026
af971b4
feat: add accessible M01 simulator styles
tim8es Sep 9, 2026
c918c56
feat: load M01 simulator vertical slice
tim8es Sep 9, 2026
c76e1de
test: make validation smoke tests simulator-treatment aware
tim8es Sep 9, 2026
f2808e7
test: define simulator completion integrity for validation gate
tim8es Sep 9, 2026
ea493ce
feat: gate M01 validation on simulator evidence
tim8es Sep 9, 2026
3d1ae2c
feat: route M01 entry to playable mission
tim8es Sep 9, 2026
2079e8c
feat: wire simulator routing and validation gate
tim8es Sep 9, 2026
dfd3f34
test: syntax check all runtime JavaScript
tim8es Sep 9, 2026
86cbe55
test: cover simulator routing and validation gate adapters
tim8es Sep 9, 2026
3035245
test: execute simulator evidence gate in validation integrity checks
tim8es Sep 9, 2026
a860cb1
test: inspect raw storage behind validation gate
tim8es Sep 9, 2026
89c4942
test: separate validation renderer from simulator routing adapter
tim8es Sep 9, 2026
e48a6a8
test: regress M01 rationale evidence threshold
tim8es Sep 11, 2026
c999029
fix: align simulator rationale completion contract
tim8es Sep 11, 2026
ca37ced
test: assert rejected rationale preserves evidence
tim8es Sep 11, 2026
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
26 changes: 26 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Prototype CI

on:
push:
pull_request:

permissions:
contents: read

jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Setup Node
uses: actions/setup-node@v7
with:
node-version: 22
- name: Check JavaScript syntax
run: |
find . -maxdepth 1 -type f -name '*.js' -print0 | sort -z | while IFS= read -r -d '' file; do
node --check "$file"
done
- name: Run tests
run: node --test tests/*.test.js
2 changes: 0 additions & 2 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ jobs:
uses: actions/checkout@v4
- name: Configure Pages
uses: actions/configure-pages@v5
with:
enablement: true
- name: Upload static site
uses: actions/upload-pages-artifact@v3
with:
Expand Down
72 changes: 71 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

Практическая программа по Project Management уровня senior+.

> **Статус:** текущая реализация — reference prototype для проверки продукта и модели обучения. Она не считается целевой архитектурой масштабируемой платформы. Актуальная стратегия и источники истины находятся в [`docs/`](docs/README.md).

Это не курс по Scrum, Jira или PMBOK. Программа учит рассматривать проект как систему преобразования неопределенности в ценный результат и управлять семью потоками:

1. ценность;
Expand All @@ -21,13 +23,81 @@
- сохранение прогресса и заметок в браузере;
- итоговый capstone длительностью 2–4 недели.

## Стратегия развития

Проект развивается по схеме **A → C**:

1. текущий сайт сохраняется как reference prototype;
2. на нем проверяются учебные механики и curriculum;
3. подтвержденные требования фиксируются как продуктовые и доменные контракты;
4. после validation gate строится отдельная масштабируемая v1;
5. контент и механики мигрируют в v1 вертикально, только после проверки.

Не следует расширять текущие `app.js` и `course-data.js` как постоянную платформенную архитектуру.

## Phase 1 — M01 Learning Validation

Первый вертикальный validation slice проверяет модуль **M01 «Проект как система»** до начала v1 rewrite.

Маршрут в прототипе:

`#/validation/m01`

Последовательность:

`baseline → 2 урока + Decision Drills → integrative post-case → real-project transfer → reflection`

Baseline и post-case оценивают пять измерений reasoning: механизм, доказательства, trade-offs, вмешательство и change condition. Положительный индивидуальный learning signal требует одновременно `post ≥ baseline + 3` и улучшения минимум по двум измерениям. Это development signal, а не автоматический `mastered`.

Экспериментальный UI и данные намеренно изолированы от legacy-монолитов:

- `learning-domain.js` — чистая scoring/state логика;
- `m01-validation-data.js` — cases/drills/field/reflection content;
- `m01-validation-app.js` — validation route и browser persistence;
- `m01-validation.css` — отдельные стили.

Операционный протокол реальных learner sessions: [`docs/validation/M01-VALIDATION-PROTOCOL.md`](docs/validation/M01-VALIDATION-PROTOCOL.md).

## Документация

Начать с [`docs/README.md`](docs/README.md).

Ключевые документы:

- [`docs/product/PRODUCT.md`](docs/product/PRODUCT.md) — продуктовый контракт;
- [`docs/product/LEARNING_MODEL.md`](docs/product/LEARNING_MODEL.md) — модель обучения;
- [`docs/product/CURRICULUM.md`](docs/product/CURRICULUM.md) — competency/curriculum contract;
- [`docs/content/CONTENT_MODEL.md`](docs/content/CONTENT_MODEL.md) — модель контента;
- [`docs/architecture/ARCHITECTURE.md`](docs/architecture/ARCHITECTURE.md) — текущая и целевая архитектура;
- [`docs/ROADMAP.md`](docs/ROADMAP.md) — этапы и validation gates.

## Запуск локально

Сайт не требует сборки. Откройте `index.html` или запустите любой статический HTTP-сервер из корня репозитория.

## Хранение данных

Прогресс, ответы диагностики и рабочие заметки хранятся только в `localStorage` браузера. Они не отправляются на сервер.
Все данные остаются в browser `localStorage` и не отправляются на сервер.

- `pm01-state-v1` — legacy progress, diagnostic, notes и criteria основного курса;
- `pm01-validation-m01-v1` — изолированное состояние M01 validation experiment.

Раздельные ключи нужны, чтобы legacy `app.js` не мог случайно перезаписать экспериментальные ответы своим in-memory state.

## Проверка

CI использует Node.js built-in test runner и проверяет:

- scoring/promotion/learning-state domain contracts;
- структуру M01 validation content;
- script/style integration и базовые accessibility contracts;
- JavaScript syntax для prototype runtime files.

Локально:

```bash
node --test tests/*.test.js
```

## Публикация

Expand Down
Loading