Author: Ryan Loiselle — Developer / Architect AI tool: GitHub Copilot — AI pair programmer / code generation Updated: February 2026
Status:
⬜pending ·✅done. Keep this section first — always read before starting a session.
| Status | # | Item | Effort | Notes / Depends On | Branch |
|---|---|---|---|---|---|
| ✅ | 1 | Initialize git repo + push to rloisell/HelloNetworkWorld | Small | Created under rloisell (bcgov-c repo creation requires admin). Transfer commands documented. | main |
| ⬜ | 2 | Run spec-kitty init and validate all 7 feature specs |
Small | Depends on #1 | docs/spec-kitty-init |
| ✅ | 3 | Create HNW.sln + project scaffolds (Api, Data, WebClient) |
Medium | Builds clean, local dev deployed | main |
| Status | # | Item | Effort | Notes / Depends On | Branch |
|---|---|---|---|---|---|
| ✅ | 4 | Implement 001-project-scaffold (API health, DB migrations, React shell) | Large | API on 5200, Vite on 5175, MariaDB hnw_dev, CRUD verified | main |
| ✅ | 5 | Add hnw-app Helm chart to tenant-gitops-be808f | Medium | PR #7 opened | feat/hnw-gitops |
| ⬜ | 6 | GitHub Actions — build-and-push to Artifactory (hnw-api, hnw-frontend) | Medium | Depends on #5 | feat/001-project-scaffold |
| ⬜ | 7 | Implement 002-network-docs-hub (network reference panel — OpenShift SDN, Silver/Gold/Emerald, DataClass/zones, NetworkPolicy patterns) | Medium | Direction change Mar 2026: narrowed from broad BC Gov standards hub to network-only reference. Depends on #4 | feat/002-documentation-hub |
| Status | # | Item | Effort | Notes / Depends On | Branch |
|---|---|---|---|---|---|
| ⬜ | 8 | Implement 003-network-test-config (CRUD for test definitions) | Large | Depends on #4 | feat/003-network-test-config |
| ⬜ | 9 | Implement 004-network-test-execution (Quartz.NET cron engine) | Large | Depends on #8 | feat/004-network-test-execution |
| ⬜ | 10 | Implement 005-health-reporting (dashboard + trendlines) | Large | Depends on #9 | feat/005-health-reporting |
| Status | # | Item | Effort | Notes / Depends On | Branch |
|---|---|---|---|---|---|
| ⬜ | 11 | Implement 006-oidc-auth (Keycloak via common-sso) | Large | Depends on #10 | feat/006-oidc-auth |
| ⬜ | 12 | Implement 007-network-policy-automation (GitOps PR on new test) | Large | Depends on #8 | feat/007-network-policy-automation |
| Status | # | Item | Effort | Notes / Depends On | Branch |
|---|---|---|---|---|---|
| ⬜ | 13 | AI agents — BC Gov standards advisor (self-learning) | High | Depends on #7 | feat/008-ai-agents |
| ⬜ | 14 | Dynamic environment context links (OpenShift API awareness) | Medium | Depends on #7 | feat/002-documentation-hub |
| ⬜ | 15 | Port AI agents + skills back to rl-project-template | Medium | Depends on #13 | chore/template-update |
- Session 1 — Initialize repo, run spec-kitty, scaffold .NET + React projects
- Session 2 — Core scaffold: health checks, DB migrations, React shell, Containerfiles
- Session 3 — GitOps: hnw-app Helm chart, ArgoCD apps, GitHub Actions CI
- Session 4 — Documentation hub feature (002)
- Session 5 — Network test config CRUD (003)
- Session 6 — Network test execution engine (004)
- Session 7 — Health reporting dashboard (005)
- Session 8 — OIDC auth (006)
- Session 9 — Network policy automation (007)
- Session 10 — AI agents (008) + template update
The repo currently lives at
rloisell/HelloNetworkWorldbecausebcgov-corg restricts repo creation to admins. Once abcgov-cadmin creates the repo or transfers ownership:
Ask a bcgov-c org admin to:
- Accept the transfer at
bcgov-corg level - You initiate: GitHub →
rloisell/HelloNetworkWorld→ Settings → Danger Zone → Transfer ownership → New owner:bcgov-c
Then update your local remote:
cd /Users/rloisell/Documents/developer/HelloNetworkWorld
git remote set-url origin https://github.com/bcgov-c/HelloNetworkWorld.git
git fetch origin
git branch --set-upstream-to=origin/main mainAsk admin to create bcgov-c/HelloNetworkWorld, then:
cd /Users/rloisell/Documents/developer/HelloNetworkWorld
git remote rename origin old-origin
git remote add origin https://github.com/bcgov-c/HelloNetworkWorld.git
git push -u origin main
# After confirming everything is in bcgov-c:
git remote remove old-origin- Update GitOps ArgoCD Application CRDs to point
repoURLatbcgov-c/HelloNetworkWorld - Update
.github/workflows/image tags if they referencerloisell - Update
AI/COMMIT_INFO.txtwith new remote URL - Set branch protection rules on
main(require PR review, status checks) - Add
bcgov-c/platform-teamas collaborators
Goal: Create the GitHub repository in the bcgov-c organization and push the initial scaffold.
Steps:
- Create repo at
https://github.com/rloisell/HelloNetworkWorld✅ (bcgov-c requires admin, using rloisell for now) git initin/Users/rloisell/Documents/developer/HelloNetworkWorld✅git remote add origin https://github.com/rloisell/HelloNetworkWorld.git✅- Initial commit and push ✅ (commit
5b66521, 83 files)
Acceptance criteria:
- Repo exists at
github.com/bcgov-c/HelloNetworkWorld - All scaffold files are in
mainbranch
Goal: Initialize spec-kitty and confirm all 7 feature specs validate cleanly.
Steps:
pip install spec-kittyin project venvspec-kitty init --here --ai copilot --non-interactive --no-git --forcespec-kitty validate-tasks --all
Files to create or modify:
.kittify/— generated by spec-kitty init.github/prompts/— generated by spec-kitty init
Acceptance criteria:
-
spec-kitty validate-tasks --allshows 0 mismatches -
.kittify/committed
Goal: Create the .NET solution and project files for HNW.Api, HNW.Data, HNW.WebClient.
Steps:
dotnet new sln -n HNWdotnet new webapi -n HNW.Api -o src/HNW.Apidotnet new classlib -n HNW.Data -o src/HNW.Datacd src/HNW.WebClient && npm create vite@latest . -- --template react- Wire up sln references, add NuGet packages (EF Core, Pomelo, Quartz)
- Create
HNW.Data.csprojwith MariaDB/Pomelo, create initialApplicationDbContext
Acceptance criteria:
-
dotnet buildsucceeds -
npm install && npm run buildsucceeds in WebClient - EF Core migration scaffolded for initial schema
Newest entry first.
Commits: (pending push this session) Key work:
- Fixed 8 build errors in NetworkTestService.cs (property name mismatches, int→Guid, IEnumerable→IReadOnlyList, missing interface methods)
- Removed conflicting
Microsoft.AspNetCore.OpenApi10.x package (clashed with Swashbuckle 6.xMicrosoft.OpenApi1.x) - Added
Microsoft.EntityFrameworkCore.Design9.0.0 for migration tooling - Added
JsonStringEnumConverterto API JSON serializer options - Removed invalid JSON comment block from
package.json - Created
hnw_devdatabase on local MariaDB 10.11.16 - Created and applied
InitialCreateEF Core migration (4 tables + __EFMigrationsHistory) - Verified full CRUD flow: POST → GET → GET by ID → PATCH toggle → DELETE (all 2xx)
npm install— 225 packages, 0 vulnerabilities- Vite dev server on 5175 with API proxy to 5200 — verified HTML + proxy
- Connection: socket auth (
/tmp/mysql.sock,rloisell, no password, SslMode=none) - Port allocation: API 5200, Vite 5175 (no collision with DSC on 5115/5173)
Key decisions:
- Swashbuckle 6.x preferred over built-in .NET 10
Microsoft.AspNetCore.OpenApi(Swagger UI out-of-box) - Socket auth for local dev matches DSC-modernization pattern (no passwords in config)
- Hard delete for now in
NetworkTestService.DeleteAsync; soft delete planned for Phase 2
Commits: 5b66521 (main — initial scaffold, 83 files, 6842 insertions)
Repo: https://github.com/rloisell/HelloNetworkWorld (private, under rloisell — bcgov-c repo creation restricted to admins)
GitOps PR: https://github.com/bcgov-c/tenant-gitops-be808f/pull/7 (feat/hnw-gitops — hnw-app Helm chart + ArgoCD apps)
Key decisions:
- Repo created under rloisell account; will transfer to bcgov-c when admin creates the repo
- External database clarification propagated to all 8 affected files before initial commit
- GitOps PR includes external DB egress ports (1521, 1433, 5432, 3306) in NetworkPolicies
Commits: None yet (pre-init) Files created: All scaffold, docs, kitty-specs, AI/ directory, .github/ directory, containerization/, src/ skeletons Key decisions:
- Project prefix
hnw, no collision withdscinbe808fnamespace - 3-tier: .NET 10 API + React/Vite + MariaDB
- Quartz.NET for cron scheduling (not Hangfire — keeps dependencies lighter)
- Phase 1 public, Phase 2 Keycloak OIDC via
common-sso.justice.gov.bc.ca - Network policy automation via GitHub PR to
tenant-gitops-be808f - AI agents go in
.github/agents/with self-learning knowledge base pattern - All AI agent definitions also backported to
rl-project-template