Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
239 commits
Select commit Hold shift + click to select a range
6dc11e7
docs: implant initial plan documents and skills
u-00a0 Sep 17, 2026
bcd417c
feat: implement dual-runtime and data foundations
u-00a0 Sep 18, 2026
53fd55d
docs: record phase 01 and 02 acceptance evidence
u-00a0 Sep 18, 2026
87de416
Merge pull request #1 from EIHRTeam/codex/phase-01-02
u-00a0 Sep 18, 2026
26661aa
docs: Add Markdown representation and transport policy documentation
u-00a0 Sep 18, 2026
8655cee
docs: adopt Conventional Commits for commit messages
u-00a0 Sep 18, 2026
1b6e54e
ci(backend): update GitHub Actions to v7 and align Node version
u-00a0 Sep 18, 2026
873b718
ci(github): add CodeQL advanced setup workflow
u-00a0 Sep 18, 2026
336ef86
ci(github): trigger CodeQL on pull request updates explicitly
u-00a0 Sep 18, 2026
e69a20a
docs: record CodeQL SAST increment for module 01
u-00a0 Sep 18, 2026
6f170e7
ci(github): run CodeQL only on commits, not on a schedule
u-00a0 Sep 18, 2026
0ca60aa
build(toolchain): replace esbuild with tsdown and rolldown
u-00a0 Sep 18, 2026
b4af271
build(lint): replace biome and prettier with oxlint and oxfmt
u-00a0 Sep 18, 2026
1e06f48
style: apply oxfmt formatting and lint fixes for the new toolchain
u-00a0 Sep 18, 2026
993188c
docs: create initial user document structure and initialized user doc…
u-00a0 Sep 18, 2026
6d93d9d
docs: Add SVG badge for Elysia version 1.4
u-00a0 Sep 19, 2026
bb9e986
feat(security): define deployment and authorization policies
u-00a0 Sep 28, 2026
dea56ec
feat(security): add credential and key lifecycle services
u-00a0 Sep 28, 2026
7727a8f
feat(security): add bounded abuse and outbound controls
u-00a0 Sep 28, 2026
fa51012
feat(auth): add shared password and account contracts
u-00a0 Sep 28, 2026
2acc847
feat(data): record dual-dialect security migration histories
u-00a0 Sep 28, 2026
0c7142c
feat(data): add durable key registry adapters
u-00a0 Sep 28, 2026
06c4027
feat(data): add primary rate counters and lockout storage
u-00a0 Sep 28, 2026
301530a
feat(data): add account stores across both profiles
u-00a0 Sep 28, 2026
120452c
feat(server): enforce bounded HTTP and authorization policy
u-00a0 Sep 28, 2026
ad195d5
feat(server): compose fail-closed abuse and CAPTCHA admission
u-00a0 Sep 28, 2026
84ee236
feat(auth): add shared account route handlers
u-00a0 Sep 28, 2026
a021649
feat(server): wire shared security and account routes
u-00a0 Sep 28, 2026
8a8bd9b
feat(node): add bounded provider and password adapters
u-00a0 Sep 28, 2026
c58568e
feat(node): bind primary abuse admission and cleanup
u-00a0 Sep 28, 2026
0297748
feat(node): serve guarded account routes on PostgreSQL
u-00a0 Sep 28, 2026
8942a9d
feat(workers): add bounded providers and password hashing
u-00a0 Sep 28, 2026
bcb4565
feat(workers): verify ingress and bound volumetric admission
u-00a0 Sep 28, 2026
dce9007
feat(workers): serve guarded account routes on D1
u-00a0 Sep 28, 2026
5e16a49
build(runtime): package both secured backend profiles
u-00a0 Sep 28, 2026
e16747e
docs(security): record policy and suspended work boundaries
u-00a0 Sep 28, 2026
49b7c2b
docs(evidence): preserve security validation and probe records
u-00a0 Sep 28, 2026
1365062
docs(data): record security stores and migration state
u-00a0 Sep 28, 2026
d19b61b
docs(toolchain): explain secured backend development commands
u-00a0 Sep 28, 2026
18fbaa5
chore(repo): declare package metadata
u-00a0 Sep 28, 2026
e497403
docs(site): synchronize bilingual security guidance
u-00a0 Sep 28, 2026
be48923
docs(plan): record consolidation evidence and feature hold
u-00a0 Sep 28, 2026
42cc220
docs(guidance): align source coverage and session handoffs
u-00a0 Sep 28, 2026
75668fe
docs(plan): bound security, account and cleanup scope
u-00a0 Sep 28, 2026
dd3e79f
docs(plan): align dependent module checklists
u-00a0 Sep 28, 2026
36c65c4
docs(progress): preserve security and identity handoffs
u-00a0 Sep 28, 2026
6c2223a
docs(progress): record foundation, data and operations handoffs
u-00a0 Sep 28, 2026
cf7bbb2
docs(progress): record downstream scope hold
u-00a0 Sep 28, 2026
434c5e2
docs(plan): complete consolidation commit map
u-00a0 Sep 28, 2026
f8f9298
test(postgres): select local transport in node root fixtures
u-00a0 Sep 28, 2026
091e773
docs(plan): record postgres ci fixture repair
u-00a0 Sep 28, 2026
bb3b320
fix(build): externalize workerd runtime imports
u-00a0 Sep 28, 2026
77ec5f7
docs(plan): record workerd import resolution
u-00a0 Sep 28, 2026
44e209e
test(security): verify login-time rehash with real providers
u-00a0 Sep 29, 2026
70a4139
docs(plan): accept 03.2e and record module 03 closure matrix
u-00a0 Sep 29, 2026
df02b90
docs(plan): point checkpoint evidence at accepted 03.2e
u-00a0 Sep 29, 2026
90908f9
docs(security): align remaining 03.2e status claims
u-00a0 Sep 29, 2026
f6d1d8a
docs(plan): record module 03 audit resumption
u-00a0 Sep 29, 2026
b8170d8
feat(security): restore permission-aware audit service
u-00a0 Sep 29, 2026
f67af37
docs(plan): record 03.3a audit restoration checkpoint
u-00a0 Sep 29, 2026
dc609c9
docs(plan): accept 03.3a with deployed audit evidence
u-00a0 Sep 29, 2026
347a8a3
docs(plan): accept 03.V4 on consolidated seeded-secret evidence
u-00a0 Sep 29, 2026
b0e1fea
feat(security): audit configured provider outages at admission
u-00a0 Sep 29, 2026
ee33edd
test(security): refresh audit traversal plan samples
u-00a0 Sep 29, 2026
874806b
docs(plan): record audited provider-outage policy
u-00a0 Sep 29, 2026
612c7fa
docs(progress): record 03.V4 acceptance and provider-outage audit policy
u-00a0 Sep 29, 2026
25c6b47
docs(plan): record free-plan pbkdf2 measurement and floor decision
u-00a0 Sep 29, 2026
96ec3e2
feat(security): fix measured minimum-tier password policy
u-00a0 Sep 29, 2026
616956c
docs(plan): accept 03.2g and 03.V7 with measured tier policy
u-00a0 Sep 29, 2026
37b5984
test(security): refresh audit traversal plan samples
u-00a0 Sep 29, 2026
a7fa5cd
docs(progress): record measured tier policy acceptance
u-00a0 Sep 29, 2026
f2194d5
feat(security): add tier abuse alerts and consistency declaration
u-00a0 Sep 29, 2026
2e5a15f
docs(plan): accept 03.3h tier abuse controls
u-00a0 Sep 29, 2026
e981a96
test(security): refresh audit traversal plan samples
u-00a0 Sep 29, 2026
4ec3a22
feat(security): warn and audit refused minimum-tier enablement
u-00a0 Sep 29, 2026
ae57663
docs(plan): record deployed minimum-tier refusal evidence
u-00a0 Sep 29, 2026
8f9e31c
docs(plan): accept 03.3g tier-gate completion
u-00a0 Sep 29, 2026
c0af449
test(security): refresh audit traversal plan samples
u-00a0 Sep 29, 2026
b916735
docs(plan): accept 03.V6 and reduce module 03 to external evidence
u-00a0 Sep 29, 2026
5055955
docs(progress): finalize module 03 external-evidence assessment
u-00a0 Sep 29, 2026
d8e6dce
docs(evidence): record real-gateway ingress environment assessment
u-00a0 Sep 29, 2026
c3030b5
docs(evidence): record Node direct-egress success on clean host
u-00a0 Sep 29, 2026
f9a02e6
fix(cloudflare): accept edge-added x-real-ip equal to connecting address
u-00a0 Sep 29, 2026
e3c51cf
docs(evidence): record genuine browser ingress and cross-location proof
u-00a0 Sep 29, 2026
4951db3
docs(evidence): accept 03.3e, 03.V2 and 03.V3 on live provider evidence
u-00a0 Sep 29, 2026
6bad785
docs(evidence): observe deployed approximate-budget shedding
u-00a0 Sep 29, 2026
aa6795a
docs(plan): complete module 03 via dependency re-scope
u-00a0 Sep 30, 2026
8c5eed3
docs(auth): specify authentication flows for module 04
u-00a0 Sep 30, 2026
63fc7e1
docs(auth): close specification gaps from source cross-check
u-00a0 Sep 30, 2026
68c90eb
docs(auth): record Better Auth candidate PoC outcome
u-00a0 Sep 30, 2026
d9c304e
feat(auth): enroll initial staff administrator via operator channel
u-00a0 Sep 30, 2026
022a5f5
feat(auth): add single-use account recovery codes
u-00a0 Sep 30, 2026
d0edad4
docs(progress): record module 04 recovery-code batch
u-00a0 Sep 30, 2026
0ac58d8
docs(sources): record SimpleWebAuthn lookup for the passkey path
u-00a0 Sep 30, 2026
55d1f74
feat(auth): add discoverable passkey registration and login
u-00a0 Sep 30, 2026
055fa78
docs(progress): record module 04 passkey batch
u-00a0 Sep 30, 2026
0f98f06
feat(auth): serve instance capability document and tier account spec
u-00a0 Sep 30, 2026
170eace
docs(auth): document provider contracts and record instance batch
u-00a0 Sep 30, 2026
bf83a2d
docs(tier): reconcile drift and strengthen tier account section
u-00a0 Sep 30, 2026
6487c49
feat(auth): implement authorization-code flow with PKCE and opaque to…
u-00a0 Sep 30, 2026
be0f67a
docs(progress): record module 04 oauth core batch
u-00a0 Sep 30, 2026
1779ca2
feat(auth): serve backend-owned authorization login and consent pages
u-00a0 Sep 30, 2026
62c41f1
feat(auth): add bearer authentication and account business endpoint
u-00a0 Sep 30, 2026
30d24d9
docs(progress): record module 04 pages, bearer and contracts batches
u-00a0 Sep 30, 2026
420a531
feat(auth): manage project roles, sessions and principal administration
u-00a0 Sep 30, 2026
9460759
docs(auth): accept rotation and reset-token items by assessment
u-00a0 Sep 30, 2026
c39473c
test(auth): close module 04 acceptance on both profiles
u-00a0 Sep 30, 2026
945f284
docs(progress): record module 04 review findings
u-00a0 Sep 30, 2026
facb87b
fix(server): derive route labels from one frozen list
u-00a0 Sep 30, 2026
372327c
fix(auth): enforce code response type and S256 at authorize
u-00a0 Sep 30, 2026
ca9fc66
refactor(server): remove zero-caller exports
u-00a0 Sep 30, 2026
dd1d97f
refactor(auth): converge duplicated role lists, compare and passkey p…
u-00a0 Sep 30, 2026
d1abab8
refactor(server): drop redundant validation layers and dead guards
u-00a0 Sep 30, 2026
fb3a9b2
docs(progress): record module 04 review-fix session
u-00a0 Sep 30, 2026
964da20
chore: upgrade deps version to satisfy pnpm audit
u-00a0 Oct 1, 2026
eaedc64
feat(auth): add module 04 audit trail and the minimum-tier activation
u-00a0 Oct 1, 2026
55c9e9c
docs(progress): record module 04 audit and tier-journey completion
u-00a0 Oct 1, 2026
93d58c5
feat(plugin): add plugin specification and versioned contract packages
u-00a0 Oct 1, 2026
0963a1c
feat(plugin): define manifest schemas and api compatibility
u-00a0 Oct 1, 2026
a41e9f3
feat(plugin): define lifecycle state and decision model
u-00a0 Oct 1, 2026
c8493f7
feat(plugin): define hook protocol contract
u-00a0 Oct 1, 2026
059a1a3
feat(plugin): define external service protocol
u-00a0 Oct 1, 2026
0d72122
feat(plugin): add registry and authorized management endpoints
u-00a0 Oct 1, 2026
625bf6f
feat(plugin): add scoped configuration and storage
u-00a0 Oct 1, 2026
af279c6
feat(plugin): define extension-point catalog
u-00a0 Oct 1, 2026
7e56991
feat(plugin): connect event envelopes to the outbox model
u-00a0 Oct 1, 2026
11b699a
feat(plugin): define build-time descriptors and csp merging
u-00a0 Oct 1, 2026
aedb75d
feat(plugin): add example plugin and bounded runtime executor
u-00a0 Oct 1, 2026
7817583
test(plugin): add negative, authorization and timeout fixtures
u-00a0 Oct 1, 2026
f644f68
docs(plugin): publish extension quickstart and complete module 05
u-00a0 Oct 1, 2026
db90248
feat(plugin): audit plugin-management mutations with plugin events
u-00a0 Oct 1, 2026
95b8a67
feat(project): add project and taxonomy services
u-00a0 Oct 1, 2026
430c7d3
feat(issue): add issue lifecycle with triage and timeline atomicity
u-00a0 Oct 1, 2026
a054ba5
feat(discussion): add comments, reactions and merged timeline
u-00a0 Oct 1, 2026
45d6065
test(issue): accept module 06 with full matrix and fix sub-resource l…
u-00a0 Oct 1, 2026
ede6697
docs(plan): record module 07 content, storage and scanner progress
u-00a0 Oct 4, 2026
88c85c4
feat(content): add versioned markdown policy and stored projections
u-00a0 Oct 4, 2026
8bd6a7f
feat(content): add versioned issue forms and templates
u-00a0 Oct 4, 2026
de74100
feat(upload): add upload intents, quota reservations and blob ports
u-00a0 Oct 4, 2026
4d72d49
feat(upload): add R2 and S3-compatible blob store adapters
u-00a0 Oct 4, 2026
89d4c70
feat(upload): support bounded resumable multipart uploads
u-00a0 Oct 4, 2026
e78d60d
feat(upload): bound expired-intent, orphan and multipart cleanup
u-00a0 Oct 4, 2026
4ae1ae9
feat(upload): add bounded legacy recovery and evidence inventory
u-00a0 Oct 4, 2026
42d522c
feat(upload): quarantine, scan and serve isolated authorized media
u-00a0 Oct 4, 2026
38b8c84
feat(scanner): add the bounded attachment scanner service
u-00a0 Oct 4, 2026
c332761
feat(upload): scan attachments and serve isolated authorized media
u-00a0 Oct 4, 2026
0d0d50c
chore(evidence): refresh audit traversal measurements after module 07…
u-00a0 Oct 4, 2026
6f28062
fix(database): bound d1 issue relation binds with json_each
u-00a0 Oct 4, 2026
aff2790
fix(discussion): enforce parent issue visibility on every sub-resource
u-00a0 Oct 4, 2026
0a62e1f
fix(discussion): close the comment existence oracle and widen visibil…
u-00a0 Oct 4, 2026
5b1fd61
feat(authorization): bind assurance to the presented token and add in…
u-00a0 Oct 4, 2026
181de05
fix(identity): commit administration audit with protected mutations
u-00a0 Oct 4, 2026
1a7fea9
perf(identity): renew authorization sessions only when due
u-00a0 Oct 4, 2026
d12cbab
perf(authorization): reuse database facts within each request
u-00a0 Oct 4, 2026
285c355
perf(security): reuse imported keys with request-scoped lifecycle reads
u-00a0 Oct 4, 2026
71cdcac
feat(deployment)!: formalize cloudflare minimum password accounts
u-00a0 Oct 4, 2026
1e9b4ec
perf(security): use risk-tiered content admission counters
u-00a0 Oct 4, 2026
cce193c
perf(http): cache anonymous instance metadata with explicit response …
u-00a0 Oct 4, 2026
a94111d
feat(maintenance): bound expired credential cleanup on both runtimes
u-00a0 Oct 4, 2026
4d11857
perf(persistence): omit receipts for one-shot content mutations
u-00a0 Oct 4, 2026
4146355
refactor(runtime): separate request deadlines and reject inactive set…
u-00a0 Oct 4, 2026
47d4058
refactor(server): extract route groups and enforce plugin bounds
u-00a0 Oct 4, 2026
fff95a5
fix(runtime): finalize minimum bounds and configured deadlines
u-00a0 Oct 4, 2026
bbc61f2
fix(ci): measure native markdown runtime and strengthen fixtures
u-00a0 Oct 5, 2026
f13d7f1
fix(test): bound registry plan scans by relation
u-00a0 Oct 5, 2026
1841761
docs(ci): record verified pr 2 repairs
u-00a0 Oct 5, 2026
c0d0527
docs(search): specify the bounded query language and ast
u-00a0 Oct 8, 2026
3869c76
feat(search): compile the bounded ast on both stores
u-00a0 Oct 8, 2026
faa04f8
feat(search): bound index lifecycle and stale-index authorization
u-00a0 Oct 8, 2026
48d0cf0
feat(search): add version-aware indexing and tier budgets
u-00a0 Oct 8, 2026
f2a40d9
docs(search): record the authorized module 8 push
u-00a0 Oct 8, 2026
c4daf20
fix(ci): repair dependency audit and search checks
u202F Oct 9, 2026
6d2bf9c
docs(ci): record verified pr check repair
u202F Oct 9, 2026
a18d49c
feat(async): add the bounded outbox and job model
u-00a0 Oct 9, 2026
b669b34
feat(async): add task queue adapters and dispatch bounds
u-00a0 Oct 9, 2026
ef7f66d
feat(async): dispatch plugin events and search index updates
u-00a0 Oct 9, 2026
462fd3c
feat(async): add durable workflows, scheduling and operator documenta…
u-00a0 Oct 9, 2026
d9ee49d
feat(async): add the minimum scheduler and batch search admission
u-00a0 Oct 10, 2026
b5c5206
perf(async): batch minimum admission and completion
u-00a0 Oct 10, 2026
cf3690d
docs(async): record the verified performance checkpoint
u-00a0 Oct 10, 2026
eb81571
docs(async): record native cron cpu failure
u-00a0 Oct 10, 2026
f38b6c4
docs(async): prepare the native cpu profiling proposal
u-00a0 Oct 10, 2026
a78d5f0
perf(async): simplify metering and defer cleanup initialization
u-00a0 Oct 10, 2026
00fc6c1
perf(async): batch minimum claim and search admission
u-00a0 Oct 10, 2026
f0c9a1d
perf(async): consolidate minimum source cursors
u-00a0 Oct 10, 2026
609abbc
docs(async): record cold profiling and bounded native retry
u-00a0 Oct 10, 2026
6d65211
docs(async): distinguish cold handler and binding profiles
u-00a0 Oct 10, 2026
f6a1e9e
perf(search)!: bound minimum indexing to issue titles
u-00a0 Oct 10, 2026
1880417
docs(async): record native propagation wait and title trial preparation
u-00a0 Oct 10, 2026
9bd76ce
perf(async): batch d1 job claims and checkpoint reads
u-00a0 Oct 10, 2026
2b83533
docs(async): record native wait and recovery safeguards
u-00a0 Oct 10, 2026
371aeb9
docs(async): record title-only native timeout and cleanup
u-00a0 Oct 10, 2026
10c4d08
docs(async): record declarative cron deployment checkpoint
u-00a0 Oct 10, 2026
16d6500
perf(async): batch minimum job admission and claim witnesses
u-00a0 Oct 10, 2026
c5aeddd
docs(async): record native dispatch fit and quota recovery
u-00a0 Oct 11, 2026
1fbfe17
docs(async): audit completion and prepare composed cron proof
u-00a0 Oct 11, 2026
17e2550
docs(async): record composed maximum fixture and native wait
u-00a0 Oct 11, 2026
4ecc89e
docs(async): close unobserved native trial and resume performance work
u-00a0 Oct 11, 2026
afb91ff
docs(async): profile composed dispatch and prepare guarded native rec…
u-00a0 Oct 11, 2026
82c8e1e
docs(async): record composed profiles and recover native trial cleanup
u-00a0 Oct 11, 2026
e4980a9
docs(async): record hosted recovery and composed dispatch cpu failure
u-00a0 Oct 11, 2026
b756222
perf(search): execute single fenced index writes without a batch wrapper
u-00a0 Oct 11, 2026
6ef7d1c
docs(async): record fresh native composition trial and bounded observ…
u-00a0 Oct 11, 2026
7b2dc3d
docs(async): complete native acceptance and module 09 handoff
u-00a0 Oct 11, 2026
54bdf8a
fix(ci): align workerd fixtures with async runtime
u-00a0 Oct 11, 2026
29eae59
docs(ci): record hosted workerd repair verification
u-00a0 Oct 11, 2026
0d8f70b
feat(audit): complete selected project content and async audits
u-00a0 Oct 11, 2026
206cc74
docs(ci): close the sast increment with hosted evidence
u-00a0 Oct 11, 2026
593d715
docs(ci): record the user sast equivalence decision
u-00a0 Oct 11, 2026
6a49ad0
feat(client): publish openapi and the public api client
u-00a0 Oct 11, 2026
3889f62
feat(upload): close direct upload, scanning and cleanup remainders
u-00a0 Oct 11, 2026
32a9e0d
docs(acceptance): record the three-profile backend matrix
u-00a0 Oct 11, 2026
5585656
docs(acceptance): record measured performance and operational readiness
u-00a0 Oct 11, 2026
c0a9cc1
docs(acceptance): assess g1 with the standard expectation model
u-00a0 Oct 11, 2026
88e9ac0
test(acceptance): exercise the integrated minimum journey
u-00a0 Oct 11, 2026
af45c1d
test(acceptance): expose the cross-site auth csp blocker
u-00a0 Oct 11, 2026
eb5c7f5
fix(auth): allow the registered cross-site form callback
u-00a0 Oct 11, 2026
22008fe
docs(acceptance): record minimum metrics and native startup blocker
u-00a0 Oct 11, 2026
c96bc2e
fix(auth): defer cloudflare binding prerequisites until requests
u-00a0 Oct 11, 2026
a3d3797
docs(acceptance): clarify retained native cpu evidence
u-00a0 Oct 11, 2026
017b278
docs(acceptance): record p0 provider blockers and cleanup
u-00a0 Oct 12, 2026
32d49e7
docs(acceptance): record verified tls and cpu guard stop
u-00a0 Oct 12, 2026
c8174d9
feat(web): add static foundation and compiler tooling
u-00a0 Oct 12, 2026
3081b37
docs(web): close p1 hosting acceptance
u-00a0 Oct 12, 2026
157591e
fix(ci): format generated openapi with oxfmt
u-00a0 Oct 12, 2026
886da14
fix(deps): remove unused vulnerable shadcn cli
u-00a0 Oct 12, 2026
13917cc
docs(ci): record hosted quality repair verification
u-00a0 Oct 12, 2026
84ec4b8
fix(acceptance): attribute native cpu to sent pilot requests
u-00a0 Oct 13, 2026
59c5690
feat(web): add the browser auth boundary
u-00a0 Oct 13, 2026
55cb982
feat(web): add accessible ui primitives
u-00a0 Oct 13, 2026
22a0dde
test(web): verify auth, accessibility, csp and capability states
u-00a0 Oct 13, 2026
9b78e06
feat(web): complete product workflows
u-00a0 Oct 19, 2026
b84293c
docs(plan): record module 12 push
u-00a0 Oct 19, 2026
067b453
docs(ops): package supported deployments
u-00a0 Oct 19, 2026
9c1f763
test(ops): rehearse installation upgrade and recovery
u-00a0 Oct 19, 2026
c089c64
docs(ops): add minimum tier runbook and free-plan evidence
u-00a0 Oct 19, 2026
fee82a7
docs(release): prepare release artifacts and checklist
u-00a0 Oct 19, 2026
59d50be
test(ops): guarantee private rehearsal cleanup
u-00a0 Oct 19, 2026
e21a220
docs(plan): record module 13 release preparation
u-00a0 Oct 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
35 changes: 35 additions & 0 deletions .agents/skills/hyperbug-development/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: hyperbug-development
description: "Implement or fix HyperBug product features, backend contracts and adapters, or frontend workflows according to the repository plan. Use for feature development and application behavior changes; use hyperbug-maintenance for dependency upgrades, migrations, releases, and operational recovery."
---

# HyperBug Development

Develop the requested HyperBug capability within its accepted architecture and delivery gates. This is repository-specific guidance; it does not authorize unrelated features or deployment.

## Begin with the current state

Read [root guidance](../../../AGENTS.md), [master progress](../../../docs/plan/PROGRESS.md), and [session handoffs](references/session-handoffs.md). Identify the owning module and read its plan and latest progress entry before editing. Source policies and their refinements are indexed in [SOURCES](../../../docs/plan/SOURCES.md).

G0 must pass before application work. Complete the backend acceptance gate in module 10 before starting the product SPA; each post-MVP feature also accepts its backend before its UI. Backend-owned authorization pages and minimal protocol test fixtures are distinct from product SPA work.

Use the selected checklist IDs to bound the change. Inspect existing package scripts and implementation rather than treating planned paths, command names, or source version snapshots as installed facts.

## Read only the relevant references

| Work | Reference |
| --- | --- |
| Endpoints, domain/application services, persistence adapters, queues, or plugins | [Backend development](references/backend.md) |
| Static SPA, browser auth, forms, components, or backend-owned HTML | [Frontend development](references/frontend.md) |
| Authentication, permissions, credentials, content, uploads, trust boundaries, or review/ADR decisions | [Security and review boundaries](references/security.md) |
| Selecting verification or deciding acceptance | [Testing and evidence](references/testing.md) |
| Any session start, checkpoint, or finish | [Session handoffs](references/session-handoffs.md) |
| A feature needs a schema/data migration | [Database changes](../hyperbug-maintenance/references/database-migrations.md) |

## Implement and close the batch

Keep domain/public contracts independent of runtime infrastructure. Share product, authorization, and consistency semantics across both production profiles; allow optimized adapter implementations. Backend writes need server validation, object permissions, required audit/timeline events, and bounded work from their first implementation.

Fetch current library documentation and relevant web guidance using the rules in root guidance. Record unresolved assumptions instead of silently weakening a baseline or changing the chosen stack.

Verify the changed behavior and affected contracts using the testing reference. Update relevant specifications and guidance in English. Complete only evidence-backed checklist items, then record progress, changed files, verification, next actions, and next-session cautions in every affected progress record. Follow the session reference even when the batch only investigated a failure.
4 changes: 4 additions & 0 deletions .agents/skills/hyperbug-development/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
interface:
display_name: "HyperBug Development"
short_description: "Develop HyperBug within its architecture and plan"
default_prompt: "Use $hyperbug-development to implement the next eligible HyperBug checklist item and record the session handoff."
32 changes: 32 additions & 0 deletions .agents/skills/hyperbug-development/references/backend.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Backend development

Read for backend features, API contracts, repositories, queues, and plugins. Use [SOURCES](../../../../docs/plan/SOURCES.md) to locate TECH-STACK §§3–30, 38–54, the relevant PRODUCT scope, and the owning [module](../../../../docs/plan/README.md#module-index).

## Boundaries that determine implementation

- Domain entities and public schemas have no infrastructure dependencies. Application services use repository/security/blob/queue/workflow ports. Adapters implement the ports; runtime composition roots supply them.
- Share Elysia routes and middleware in the server package. Runtime startup belongs in the Workers/Node entry points; D1 bindings, PostgreSQL pools, R2 buckets, S3 clients, and workflow objects must not leak into the domain.
- Publish versioned REST/OpenAPI and framework-independent DTOs. Clients do not import server implementation types or require Elysia to consume the contract.
- Keep Cloudflare and self-host behavior equivalent while allowing separate SQL, FTS, indexes, transactions, and infrastructure integrations. Resolve package/API details through current documentation; do not assume Node tooling capabilities exist in Workers.
- Preserve User/Staff separation, project-local Issue numbers, simple Open/Closed state, and optional provider integrations. Core is usable without an email, SSO, or CAPTCHA plugin.

## Complete a backend capability

Choose the owning checklist and define the request/response/error contract, object permissions, invariant, transaction intent, event/audit requirements, and resource bounds before exposing the route.

Implement domain/application behavior, each required repository adapter, route validation/error mapping, and contract evidence as one coherent feature. Where a mutation needs timeline/audit/outbox records, prove the intended atomic outcome. A zero-row conditional update is not automatically an exception or rollback.

Use [database changes](../../hyperbug-maintenance/references/database-migrations.md) for schema work and [security](security.md) for credentials, permissions, content, or trust boundaries.

## Query and side-effect decisions

Use bounded keyset/cursor pagination with stable unique tie-breakers and indexes matched to filter/sort/join patterns. Batch hydration rather than querying relations per result. Keep the structured search AST independent of FTS5 and PostgreSQL syntax and enforce current authorization even with stale indexes.

Record non-critical effects through the outbox/queue path. Assume at-least-once execution; bound fan-out/retries/concurrency and retain recoverable failures. Workflow steps need bounded checkpoints and replay-safe writes. See modules 08–09 for index dispatch and workflow handoffs.

Use upload intents, direct object-store upload, and verified finalization; do not buffer ordinary uploads through the API. Check object identity/immutability as well as declared metadata. Native plugins are trusted application code; declared permissions are not a sandbox.

## Acceptance

Use [testing](testing.md) to select both-runtime contract, authorization, concurrency, migration, and resource-bound checks. Record real versus emulated results and unresolved profile differences. Update public specifications/client contracts where affected and finish the [session handoff](session-handoffs.md).

36 changes: 36 additions & 0 deletions .agents/skills/hyperbug-development/references/frontend.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Frontend development

Read for product SPA work and backend-owned HTML/auth fixtures. First inspect G1 in [master progress](../../../../docs/plan/PROGRESS.md). Before G1 passes, work on the relevant backend contract/test fixture; do not scaffold the product SPA. A post-MVP feature needs its own backend acceptance before UI work.

## Research and compatibility

Follow root Context7 rules for the selected React/TanStack/Vite/UI APIs. Use the available modern-web-guidance skill before relevant HTML/CSS/client-side work: action-oriented search, relevant guide retrieval, then implementation/fallback review. Use its current instructions rather than hard-coding an old skill-version command here.

Record guide IDs, lookup date, feature status, and fallback in the owning progress entry or linked design record. If guidance is unavailable, record the gap; do not claim compliance based on a remembered guide.

The project baseline is Baseline Widely Available and WCAG 2.2 AA. Newly Available features require detection and usable fallback; Limited Availability cannot become a core dependency without the specified decision/review. Avoid blanket polyfills. Browser support does not replace keyboard, screen-reader, touch, zoom, contrast, and reduced-motion checks.

## Static application and state

The build must run on generic static hosting and Cloudflare Pages without SSR, Pages Functions, or a mandatory proxy. Runtime configuration contains public values only and can change the API origin without recompilation. Align deployment CSP with configured API/auth/media origins.

Use Router for URL/navigation state, Query for remote state, Form for form state, and React for local UI. Preserve shareable filters/sort/search, back/forward behavior, request cancellation, and bounded cache/page accumulation. Invalidate or partition user-specific state on identity changes.

Browser access tokens remain in memory; no localStorage, sessionStorage, IndexedDB, or persistent refresh token. Use top-level PKCE recovery and business API requests with omitted credentials. Short-lived one-shot redirect state/verifiers are distinct from access tokens and follow module 11's policy. Cookie-backed authorization pages retain their own CSRF defenses.

## Forms, content, and interaction

Use semantic controls, visible labels, associated help/errors, server-error mapping, and deliberate focus management. Coordinate visual/ARIA validation after interaction, handle IME composition, and keep drafts recoverable without leaking them across principals. Browser validation does not replace backend validation.

Render Markdown through the shared versioned sanitizer after raw HTML parsing; never introduce a separate feature allowlist. Upload directly through the accepted intent/finalize protocol and show safe retry/expiry/quota outcomes.

Native dialogs or established accessible primitives must provide focus placement/restoration, Escape where appropriate, and explicit close/cancel. Additional platform dismissal gestures are progressive enhancements.

Profile long timelines before optimizing. If applying content-visibility to confirmed offscreen content, reserve intrinsic size, verify sequential keyboard/find-in-page behavior, and retain ordinary rendering without support. Keep optional provider/admin resources out of the initial bundle when practical.

## Adapt guidance to HyperBug

Do not copy guide examples that add SSR fallback, cookie-based business authentication, inline script handlers, relaxed CSP, or a second sanitizer. Reviewed provider SDK origins differ from arbitrary remote plugin JavaScript. Native plugin UI is build-time composition.

Sources: ARCHITECTURE §§7–21, SECURITY §§7–20, 40–61, and PERFORMANCE §§25–34 via [SOURCES](../../../../docs/plan/SOURCES.md). Apply [testing](testing.md) and [session handoffs](session-handoffs.md) to close the work.

29 changes: 29 additions & 0 deletions .agents/skills/hyperbug-development/references/security.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Security and review boundaries

Read when work changes security behavior or when deciding review/ADR scope. Authoritative requirements are in SECURITY and PERFORMANCE through [SOURCES](../../../../docs/plan/SOURCES.md); this reference routes decisions rather than replacing those baselines.

## Core policy checks

| Change surface | Invariants and source sections |
| --- | --- |
| Identity/auth | User and Staff are distinct; email matching grants no Staff privilege. PKCE S256, exact redirects, one-use codes, short-lived opaque tokens, immediate revocation, and first-party authorization sessions. SECURITY §§7–44. |
| Authorization | Check object/project permissions on the server, including searches and delayed jobs. Fail closed on verification errors; require assurance/recent authentication where specified. SECURITY §§35–39, 141, 158–159. |
| Credentials/keys | Hash non-recoverable credentials; use mature crypto and AES-256-GCM envelope encryption for recoverable secrets, contextual AAD, unique nonces, key IDs/rotation. Do not lower memory-hard password parameters to fit a runtime. SECURITY §§28–34, 67–91, 148–150. |
| Content/uploads | Final tree sanitization after raw HTML parse; centralized versioned policy. Reauthorize uploads/finalization, verify actual objects, isolate dangerous media, and prevent post-validation overwrite. SECURITY §§53–66, 99–105. |
| Cross-origin/cache | Explicit origins; no ambient cookies for business APIs; CSRF protection for cookie flows. Never reuse private responses through shared caches or weaken CSP for an ordinary plugin. SECURITY §§40–52, 132–136. |
| External/plugin | Central SSRF/redirect/size/timeout limits; scoped secret/capability access. Native code is trusted, not sandboxed; plugins cannot disable Core policy. SECURITY §§92–98, 106–123. |
| Audit/retention | Redact logs/errors; required security actions get append-only audit records. Bound and document retention without silently deleting audit history. SECURITY §§110–116, 139–149. |

CORS is not authentication, CAPTCHA is not authorization, and a cache hit is not a permission check. Provider failure cannot mean successful security verification. Do not claim uploads were scanned without a scanner or full PQ authentication from hosting alone.

## Review and decision routing

- Apply focused security review to authentication/authorization, crypto/password/token storage, sanitization, CSP/CORS, uploads, plugin runtime, outbound fetch, SSO/CAPTCHA, and KMS changes (SECURITY §154). Ordinary feature work does not automatically require a separate exhaustive repository audit.
- Write a security ADR for a new auth flow, persistent browser credential, cipher/password algorithm/key provider, plugin execution model, weaker CSP, raw HTML capability, cross-origin trust, or public-key signature algorithm (SECURITY §155).
- Deviations from SECURITY MUST/MUST NOT require both an ADR and security review (§2). Resolve uncertainty explicitly before embedding a weaker behavior.
- Review hot queries/indexes, list/search/pagination, bulk/cache/fan-out, plugin hooks, uploads/import/export, auth cost, and large dependencies for performance (PERFORMANCE §75).
- Record an ADR for pagination/cache/search/replication/denormalization architecture, sync-to-async shifts, coordination objects, changed queue delivery semantics, or a large persistent frontend dependency (PERFORMANCE §76); core framework/database/service/browser-baseline changes also follow ARCHITECTURE §49.
- Record review evidence and rationale in the owning module's progress entry or linked decision file. A review requirement is not automatically a new user-approval requirement for routine authorized implementation.

Use [testing](testing.md) for adversarial acceptance evidence and the maintenance [deployment reference](../../hyperbug-maintenance/references/deployment.md) for operational key/incident work.

27 changes: 27 additions & 0 deletions .agents/skills/hyperbug-development/references/session-handoffs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Session handoffs

This is the shared session reference for both project skills. The canonical checklist, status definitions, and entry template are in [EXECUTION](../../../../docs/plan/EXECUTION.md); read it instead of creating a competing log format.

## Start

Read [master progress](../../../../docs/plan/PROGRESS.md), the owning [module plan](../../../../docs/plan/README.md#module-index), its same-named file under `docs/plan/progress/`, and affected prerequisite records. Inspect actual files/versions/uncommitted changes. Record the intended stable checklist IDs and verify gates before dependent work.

For maintenance, use the module that owns the changed artifact: foundation/dependencies 01, persistence 02, security 03–04, content 07, async 09, deployment/recovery 13, or the relevant feature/integration module. A multi-module change updates every affected record. Use [COVERAGE](../../../../docs/plan/COVERAGE.md) for ownership; do not execute unrelated future modules just to obtain a log owner.

## Checkpoint

Update the current status and append or update the current session entry after a meaningful batch, a decision/failure/blocker, or before handing off context. Record partial completion honestly and leave unfinished checkboxes unchecked. Preserve earlier session history.

## Finish every session

Append a concise English entry with the [required template](../../../../docs/plan/EXECUTION.md#required-session-entry-template):

- Scope/checklist IDs, actual progress, and a summary of what changed.
- Changed paths/artifacts and commands/checks with environments, results, and evidence; state explicitly when a check was not run.
- Decisions/deviations and blockers with concrete resolution steps.
- Ordered next actions and next-session cautions: unfinished migrations, version uncertainty, uncommitted work, missing environment access, or invariants that must not be lost.

This applies even to planning, investigation, review, failed attempts, and no-code work. A session that only answers a user question and changes no repository state is exempt unless the user asks for a record. Mark plan items complete only when their stated outcome and verification are complete. Update master/gate status when it changes; an initialized log or proposed procedure is not implementation evidence.

Never put secrets, private payloads, live credentials, or signed capabilities into handoffs. Link long reports instead of copying them. Keep records usable without chat history; do not claim commits, tests, deployments, or compatibility that did not happen.

Loading
Loading