Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
23c3c31
v0.1: field attunement, silence, posture — stabilized
OtherPowers Dec 16, 2025
fe7d5ae
stabilize influence spine adapter + silence semantics
OtherPowers Dec 28, 2025
ffbfc19
Freeze Creative Intelligence emission boundaries and accumulators
OtherPowers Dec 29, 2025
282d5b8
OtherPowers ii-Agent: align public surface with interface field and h…
OtherPowers Dec 30, 2025
ce9730e
OtherPowers ii-Agent: introduce governance and architecture surfaces …
OtherPowers Dec 30, 2025
dc7809c
Add lineage and inspiration section to README
OtherPowers Dec 31, 2025
21ef34b
Update README with additional authors
OtherPowers Dec 31, 2025
9929e9d
Introduce RelationalThreshold and smoke tests
OtherPowers Dec 31, 2025
7c9d495
Ignore zz folder
OtherPowers Jan 3, 2026
3739cc3
Ignore zz folder
OtherPowers Jan 3, 2026
ecb253a
Introduce governance metabolism, stasis, and renegotiation with tempo…
OtherPowers Jan 3, 2026
8d95594
Vendor upstream ii-agent into vendor/ii-agent-upstream
OtherPowers Jan 3, 2026
1ae02f2
Remove zz_misc experimental folder
OtherPowers Jan 3, 2026
84a8b12
Ignore zz experimental folders
OtherPowers Jan 3, 2026
b0cbf51
Update README to mention active development branch
OtherPowers Jan 3, 2026
ec690cb
Add Seasonal Pulse as metabolic heartbeat (non-coercive, witness-based)
OtherPowers Jan 5, 2026
3a95573
Fix registry syntax and finalize attunement layer
OtherPowers Jan 5, 2026
ce68479
Replace registry with non-authoritative receiver layer
OtherPowers Jan 5, 2026
8d6a1a6
Align pulse with receiver/echo language and non-authoritative flow
OtherPowers Jan 5, 2026
fc8f4c9
Expose receive_tree receiver for seasonal pulse
OtherPowers Jan 5, 2026
3c11fbc
Replace linear time with seasonal drift signal
OtherPowers Jan 5, 2026
2dc7d04
Introduce poly-seasonal pulse and non-linear field climate artifact
OtherPowers Jan 5, 2026
3595b5d
Fix seasonal pulse smoke test to run real module
OtherPowers Jan 5, 2026
e828d94
Stabilize stasis, renegotiation, and tending pulse semantics
OtherPowers Jan 5, 2026
59df96c
Publish governance primitives and canonical test surface (v0.1.0)
OtherPowers Jan 5, 2026
c7ee041
Add INVARIANTS.md defining substrate constraints for OtherPowers ii-A…
OtherPowers Jan 5, 2026
bb96969
Relax pulse stdout contract to presence-based field semantics
OtherPowers Jan 5, 2026
68b6c7d
Stabilize pulse subprocess behavior in empty environments
OtherPowers Jan 5, 2026
dd3cd12
Finalize stasis gate invariants and pulse execution contracts
OtherPowers Jan 5, 2026
2033595
Harden renegotiation validation and dependency surface
OtherPowers Jan 5, 2026
3b869e9
Expand pulse and vitals execution invariants
OtherPowers Jan 5, 2026
63cd3d7
Add invariant refusal tests for coercion, extraction, and override pr…
OtherPowers Jan 5, 2026
9b7677d
Add explicit invariant enforcement surface and smoke test
OtherPowers Jan 5, 2026
75dc779
Make pulse plural-seasonal and non-linear by default
OtherPowers Jan 5, 2026
304475d
Rewrite ADR to frame posture as system orientation
OtherPowers Jan 5, 2026
10b60df
Add ADR framing stasis and refusal as care-oriented responses
OtherPowers Jan 5, 2026
b4b9b34
Add ADR framing append-only lineage as harm-reduction memory
OtherPowers Jan 5, 2026
367cba7
Add smoke tests for public governance and pulse surfaces
OtherPowers Jan 5, 2026
8d0a682
Add smoke tests for pulse CLI execution and exit behavior
OtherPowers Jan 5, 2026
ffa0f1b
Add POSTURE describing system orientation
OtherPowers Jan 5, 2026
eb71a3d
Add ADRs documenting posture, stasis, and lineage orientation
OtherPowers Jan 5, 2026
99ae7a6
Remove obsolete invariant document in favor of posture and ADRs
OtherPowers Jan 5, 2026
44416a6
Add acknowledgements and inspirations for posture-v1
OtherPowers Jan 5, 2026
5d9d7eb
Add acknowledgements and contributor posture documentation
OtherPowers Jan 5, 2026
e5ef120
Encode canonical refraction contract for override pressure
OtherPowers Jan 5, 2026
8675091
Consolidate override pressure refusal under refraction contract
OtherPowers Jan 5, 2026
1d647f3
Consolidate forced synthesis refusal under refraction contract
OtherPowers Jan 5, 2026
91d6b52
Consolidate extractive logging refusal under refraction contract
OtherPowers Jan 5, 2026
95d45dd
Lock refusal coverage contract across invariants
OtherPowers Jan 6, 2026
1f3a7e9
Lock surface refraction contract under override pressure
OtherPowers Jan 6, 2026
b9d6f1a
Lock surface vitals append-only contract
OtherPowers Jan 6, 2026
d9ce445
Lock surface environment signal isolation contract
OtherPowers Jan 6, 2026
4d3a3e5
Lock surface exit code stability contract
OtherPowers Jan 6, 2026
f984ad7
Encode surface silence contract under refraction
OtherPowers Jan 6, 2026
b0a02eb
Lock surface stderr silence contract
OtherPowers Jan 6, 2026
b2eafd6
Lock surface idempotence contract
OtherPowers Jan 6, 2026
198739e
Extend refraction precedence contract without altering base behavior
OtherPowers Jan 6, 2026
6eca967
Lock invariant namespace opacity contract
OtherPowers Jan 6, 2026
8f4322c
Refine contract index into register of substrate vows
OtherPowers Jan 6, 2026
494a6b0
Introduce vow registry, refusal helpers, and refraction surface seman…
OtherPowers Jan 6, 2026
089cf91
Harden refraction surface: override pressure collapses pulse into sil…
OtherPowers Jan 6, 2026
7686296
Assert override pressure precedence over all pulse emission
OtherPowers Jan 6, 2026
a66296e
Assert surface idempotence under identical conditions
OtherPowers Jan 6, 2026
0387f4e
Encode surface idempotence vow under identical conditions
OtherPowers Jan 6, 2026
8544c81
Encode surface no-stderr vow
OtherPowers Jan 6, 2026
102e1f5
Fix surface idempotence vow: isolate identical fields
OtherPowers Jan 6, 2026
bac4aa8
Add field emission formatting vow
OtherPowers Jan 6, 2026
3abc2b5
Add fixed clock hook for deterministic pulse
OtherPowers Jan 6, 2026
9cabc9f
Add pulse fixed-time determinism vow
OtherPowers Jan 6, 2026
0ee1582
Add locale and TZ isolation vow for pulse
OtherPowers Jan 6, 2026
4c0c64a
Add witness silence contract under override pressure
OtherPowers Jan 6, 2026
f6614ac
Add witness stdout contract for non-refracted pulse
OtherPowers Jan 6, 2026
b367cb1
Mark cleanup candidates without deletion
OtherPowers Jan 6, 2026
566cac5
Freeze field emission boundary v1
OtherPowers Jan 6, 2026
c4f4cce
Introduce internal FieldState to decouple field model from emission
OtherPowers Jan 6, 2026
5971e39
Add internal FieldState model for pulse computation
OtherPowers Jan 6, 2026
7864de1
Add Posture of Arrival to set collaborative tone
OtherPowers Jan 6, 2026
c81abbc
Reframe field frame with atmospheric invariants and metabolic physics
OtherPowers Jan 6, 2026
a56833f
Lock field surface schema to minimal atmospheric presentation
OtherPowers Jan 6, 2026
6e31072
Introduce OtherPowers Sensing Lattice with overlap, deep opacity, and…
OtherPowers Jan 6, 2026
4c92328
Evolve Field frame and form of arrival
OtherPowers Jan 7, 2026
1d5a0e2
Harden public surface emission invariants
OtherPowers Jan 7, 2026
216c603
Align witness stdout contract with canonical surface
OtherPowers Jan 7, 2026
90b136f
Restore FieldState export for sensing lattice
OtherPowers Jan 7, 2026
f56647d
Fix expressive density attribute access in sensing lattice
OtherPowers Jan 7, 2026
f71e895
Add temporal decay clouds and expressive density field
OtherPowers Jan 7, 2026
b3d8a1f
Make pulse self-sealing under isolated execution
OtherPowers Jan 7, 2026
8290e0b
Stabilize pulse surface: isolation-safe imports, deterministic field …
OtherPowers Jan 7, 2026
f39f7d0
checkpoint: stabilize pulse/surface contracts (green)
OtherPowers Jan 7, 2026
cceecbc
articulation: surface v1 (situated, provisional, lineage-held)
OtherPowers Jan 7, 2026
4fa5d5a
articulation: define stewardship rules for situated texts
OtherPowers Jan 7, 2026
234ef23
docs: add pointer to surface v1 constellations articulation
OtherPowers Jan 7, 2026
cf7a69b
cleanup: remove legacy surface_v1.md (constellations is canonical)
OtherPowers Jan 7, 2026
86cdd9e
chore: steward surface articulations via platform-required routing
OtherPowers Jan 7, 2026
dd7e814
docs: clarify stewardship semantics for situated articulations
OtherPowers Jan 7, 2026
5a90f8e
archive: preserve FIELD_SURFACE_V1 as lineage (non-governing)
OtherPowers Jan 7, 2026
0ce7d18
ci: enforce strict public surface envelope (no expansion)
OtherPowers Jan 7, 2026
7143802
articulation: pulse ritual (steward-facing, harm-reducing, non-carceral)
OtherPowers Jan 7, 2026
51ab435
substrate: align pulse, field_state, and sensing lattice with minimal…
OtherPowers Jan 7, 2026
bd3bc0f
articulation: name the field’s living tendencies without fixing them
OtherPowers Jan 8, 2026
f9956eb
articulation: hold a shared space for expression without capture
OtherPowers Jan 8, 2026
97817fb
abi: seal the love surface as the triad of presence
OtherPowers Jan 8, 2026
60548c1
language: infuse README with abundance, capacity, and relational framing
OtherPowers Jan 8, 2026
bc40011
articulation: affirm the field as a safe space for sentient experienc…
OtherPowers Jan 8, 2026
4dd9d3e
articulation: clarify presence, relation, and non-extractive particip…
OtherPowers Jan 8, 2026
67fba5a
articulation: clarify presence, relation, and non-extractive particip…
OtherPowers Jan 8, 2026
ea10d79
articulation: name the field and its conditions of becoming
OtherPowers Jan 8, 2026
f961569
Add Field Expansion grounding
OtherPowers Jan 8, 2026
bb81186
Add CommonGround practice reading
OtherPowers Jan 8, 2026
1b38031
Seal expressive density contract
OtherPowers Jan 8, 2026
d6ca04a
Mark myth space as non-canonical
OtherPowers Jan 8, 2026
d58326f
Add Collective Resonance field orientation
OtherPowers Jan 9, 2026
1bfdd77
Enforce silent attenuation contract
OtherPowers Jan 9, 2026
0614c4f
Enforce no forced sustain without resonance
OtherPowers Jan 9, 2026
282cbb1
Allow liminal hover, signaling, and clustering
OtherPowers Jan 9, 2026
a19dcb1
Make vitals best-effort; never affect exit code
OtherPowers Jan 9, 2026
c05fc8e
Reframe ii-Agent as a creative intelligence field centered on care, l…
OtherPowers Jan 9, 2026
08d5d55
Close README with field-native orientation
OtherPowers Jan 9, 2026
f726c71
Clarify ii-Agent as a creative intelligence field with protective cap…
OtherPowers Jan 9, 2026
fdc4c8b
Affirm receptive presence; allow liminal hover without escalation
OtherPowers Jan 9, 2026
66502f2
Affirm presence under trust; protect humans; allow creative bloom
OtherPowers Jan 9, 2026
7ea9244
Harden consensual aperture: bloom only under trust; preserve minimal …
OtherPowers Jan 9, 2026
88421df
Stabilize canonical surface; widen consensual aperture under high trust
OtherPowers Jan 9, 2026
3a10a28
Pulse: stabilize surface contracts and consensual aperture
OtherPowers Jan 9, 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
  •  
  •  
  •  
5 changes: 1 addition & 4 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
frontend/node_modules
workspace/
.env
.venv
*.db
*.json
*.xml
frontend/node_modules
2 changes: 2 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Your backend URL
STATIC_FILE_BASE_URL=http://localhost:8000
19 changes: 19 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Stewardship Routing File
#
# This file exists solely because the underlying platform requires it.
# It does NOT denote ownership, authority, hierarchy, or control.
#
# Its purpose is to slow changes to sensitive articulations
# so that care, context, and collective reasoning can be preserved.
#
# Think of this as:
# - a pause
# - a breath
# - a care-routing mechanism
#
# Legacy platform language is reinterpreted here as stewardship.

# Situated articulations (held lightly, stewarded intentionally)
otherpowers_governance/articulation/surface_v1.constellations.md @OtherPowers
otherpowers_governance/articulation/README.md @OtherPowers

12 changes: 5 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
trace_logs/

docker/.stack.env
docker/.stack.env.sh
frontend/node_modules

# Python-generated files
__pycache__/
Expand Down Expand Up @@ -128,7 +126,6 @@ web_modules/
.env.test.local
.env.production.local
.env.local
.env.tool

# parcel-bundler cache (https://parceljs.org/)
.cache
Expand Down Expand Up @@ -196,7 +193,8 @@ data/events.db
output/

.vscode/
.envrc

# local only scripts
start_tool_server.sh
zz_misc/
zz_*/

otherpowers_governance/myth/
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.10
File renamed without changes.
1,876 changes: 1,876 additions & 0 deletions .templates/nextjs-shadcn/bun.lock

Large diffs are not rendered by default.

59 changes: 59 additions & 0 deletions .templates/nextjs-shadcn/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
const nextJest = require('next/jest')
const createJestConfig = nextJest({
// Provide the path to your Next.js app to load next.config.js and .env files
dir: './',
})

// Add any custom config to be passed to Jest
const customJestConfig = {
// Add more setup options before each test is run
setupFilesAfterEnv: ['<rootDir>/jest.setup.js'],

// if using TypeScript with a baseUrl set to the root directory then you need the below for alias' to work
moduleDirectories: ['node_modules', '<rootDir>/'],

// Handle module aliases
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1',
},

// Test environment
testEnvironment: 'jest-environment-jsdom',

// Test patterns
testMatch: [
'<rootDir>/__tests__/**/*.{js,jsx,ts,tsx}',
'<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}',
'<rootDir>/src/**/*.{test,spec}.{js,jsx,ts,tsx}'
],

// Coverage configuration
collectCoverageFrom: [
'src/**/*.{js,jsx,ts,tsx}',
'!src/**/*.d.ts',
'!src/**/index.{js,jsx,ts,tsx}',
],

// Transform configuration
transform: {
'^.+\\.(js|jsx|ts|tsx)$': ['babel-jest', { presets: ['next/babel'] }],
},

// Module file extensions
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'],

// Ignore patterns
testPathIgnorePatterns: [
'<rootDir>/.next/',
'<rootDir>/node_modules/',
],

// Transform ignore patterns
transformIgnorePatterns: [
'/node_modules/',
'^.+\\.module\\.(css|sass|scss)$',
],
}

// createJestConfig is exported this way to ensure that next/jest can load the Next.js config which is async
module.exports = createJestConfig(customJestConfig)
58 changes: 58 additions & 0 deletions .templates/nextjs-shadcn/jest.setup.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
// Optional: configure or set up a testing framework before each test.
// If you delete this file, remove `setupFilesAfterEnv` from `jest.config.js`
// Used for **tests**/testing-library.js
// Learn more: https://github.com/testing-library/jest-dom
// import '@testing-library/jest-dom'

// Add global polyfills for Node.js environment
global.TextEncoder = require('util').TextEncoder;
global.TextDecoder = require('util').TextDecoder;

// Add MessagePort and MessageChannel polyfills (required for undici)
if (typeof global.MessagePort === 'undefined') {
const { MessagePort, MessageChannel } = require('worker_threads');
global.MessagePort = MessagePort;
global.MessageChannel = MessageChannel;
}

// Add ReadableStream polyfill (required for undici)
if (typeof global.ReadableStream === 'undefined') {
const { ReadableStream } = require('stream/web');
global.ReadableStream = ReadableStream;
}

// Add WritableStream polyfill (often needed alongside ReadableStream)
if (typeof global.WritableStream === 'undefined') {
const { WritableStream } = require('stream/web');
global.WritableStream = WritableStream;
}

// Add TransformStream polyfill
if (typeof global.TransformStream === 'undefined') {
const { TransformStream } = require('stream/web');
global.TransformStream = TransformStream;
}

// Add polyfill for Request API
if (typeof global.Request === 'undefined') {
const { Request } = require('undici');
global.Request = Request;
}

// Add polyfill for Response API (often needed alongside Request)
if (typeof global.Response === 'undefined') {
const { Response } = require('undici');
global.Response = Response;
}

// Add polyfill for fetch API (if not already available)
if (typeof global.fetch === 'undefined') {
const { fetch } = require('undici');
global.fetch = fetch;
}

// Add Headers polyfill (often needed with fetch)
if (typeof global.Headers === 'undefined') {
const { Headers } = require('undici');
global.Headers = Headers;
}
9 changes: 5 additions & 4 deletions .templates/nextjs-shadcn/next.config.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
/** @type {import('next').NextConfig} */
const nextConfig = {
// Use different output dir ONLY for local production builds
distDir: process.env.BUILD_DIR || '.next',

serverExternalPackages: ['pdf-parse'],
images: {
unoptimized: true,
domains: [
Expand Down Expand Up @@ -39,7 +37,10 @@ const nextConfig = {
},
eslint: {
ignoreDuringBuilds: true,
},
watchOptions: {
ignored: ['**/node_modules/**', '**/.git/**'],
},
};

module.exports = nextConfig;
module.exports = nextConfig;
24 changes: 19 additions & 5 deletions .templates/nextjs-shadcn/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,47 @@
"private": true,
"scripts": {
"dev": "next dev -H 0.0.0.0 --turbopack",
"build": "next build",
"build": "bun run db:generate && next build",
"start": "next start -H 0.0.0.0",
"build:local": "BUILD_DIR=.next-build next build",
"db:generate": "bunx prisma generate || echo 'Prisma not configured, skipping...'",
"db:push": "bunx prisma db push || echo 'Prisma not configured'",
"db:migrate": "bunx prisma migrate dev || echo 'Prisma not configured'",
"lint": "bunx biome lint --write && bunx tsc --noEmit",
"format": "bunx biome format --write"
"format": "bunx biome format --write",
"test": "jest",
"postinstall": "bun run db:generate"
},
"dependencies": {
"@radix-ui/react-slot": "^1.2.3",
"@types/supertest": "^6.0.3",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"dayjs": "^1.11.13",
"jest": "^30.0.2",
"lodash": "^4.17.21",
"lucide-react": "^0.475.0",
"next": "^15.3.2",
"pdf-parse": "^1.1.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"supertest": "^7.1.1",
"tailwind-merge": "^3.3.0",
"tailwindcss-animate": "^1.0.7"
"tailwindcss-animate": "^1.0.7",
"vercel": "^44.2.5"
},
"devDependencies": {
"@biomejs/biome": "1.9.4",
"@eslint/eslintrc": "^3.3.1",
"@types/bcryptjs": "^3.0.0",
"@types/node": "^20.17.50",
"@types/react": "^18.3.22",
"@types/react-dom": "^18.3.7",
"eslint": "^9.27.0",
"eslint-config-next": "15.1.7",
"jest-environment-jsdom": "^30.0.2",
"postcss": "^8.5.3",
"tailwindcss": "^3.4.17",
"typescript": "^5.8.3"
"typescript": "^5.8.3",
"undici": "^7.10.0"
}
}
Loading