parallax-opencode 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +217 -0
- package/agents/parallax.md +100 -0
- package/dist/cli.d.ts +19 -0
- package/dist/cli.js +236 -0
- package/dist/detect.d.ts +23 -0
- package/dist/detect.js +65 -0
- package/dist/discord-rpc.d.ts +79 -0
- package/dist/discord-rpc.js +297 -0
- package/dist/plugin.d.ts +99 -0
- package/dist/plugin.js +609 -0
- package/dist/score.d.ts +41 -0
- package/dist/score.js +160 -0
- package/dist/trace.d.ts +62 -0
- package/dist/trace.js +206 -0
- package/dist/types.d.ts +94 -0
- package/dist/types.js +10 -0
- package/dist-standalone/parallax-engine.d.ts +99 -0
- package/dist-standalone/parallax-engine.js +35239 -0
- package/package.json +65 -0
- package/postinstall.mjs +14 -0
- package/scripts/install.mjs +129 -0
- package/scripts/publish.mjs +82 -0
- package/skills/parallax/SKILL.md +76 -0
- package/skills/parallax-debug/SKILL.md +163 -0
- package/skills/parallax-plan/SKILL.md +191 -0
package/package.json
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "parallax-opencode",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "PARALLAX ENGINE plugin for OpenCode -- friction-loop verification, mode switching (plan/build/debug), multi-perspective reasoning, and the 4 invariants framework",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/plugin.js",
|
|
7
|
+
"types": "./dist/plugin.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/plugin.js",
|
|
11
|
+
"types": "./dist/plugin.d.ts"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist",
|
|
16
|
+
"dist-standalone",
|
|
17
|
+
"agents",
|
|
18
|
+
"skills",
|
|
19
|
+
"scripts",
|
|
20
|
+
"postinstall.mjs",
|
|
21
|
+
"LICENSE"
|
|
22
|
+
],
|
|
23
|
+
"scripts": {
|
|
24
|
+
"postinstall": "node postinstall.mjs",
|
|
25
|
+
"install": "node scripts/install.mjs",
|
|
26
|
+
"publish": "node scripts/publish.mjs",
|
|
27
|
+
"publish:dry": "node scripts/publish.mjs --dry-run",
|
|
28
|
+
"publish:patch": "node scripts/publish.mjs --patch",
|
|
29
|
+
"build": "tsc --project tsconfig.build.json",
|
|
30
|
+
"build:standalone": "npx esbuild src/plugin.ts --bundle --outfile=dist-standalone/parallax-engine.js --platform=node --format=esm --external:@opencode-ai/plugin && node -e \"require('fs').copyFileSync('dist/plugin.d.ts', 'dist-standalone/parallax-engine.d.ts')\"",
|
|
31
|
+
"build:all": "npm run build && npm run build:standalone",
|
|
32
|
+
"typecheck": "tsc --noEmit",
|
|
33
|
+
"test": "vitest run",
|
|
34
|
+
"test:watch": "vitest"
|
|
35
|
+
},
|
|
36
|
+
"bin": {
|
|
37
|
+
"parallax": "dist/cli.js",
|
|
38
|
+
"parallax-opencode": "scripts/install.mjs"
|
|
39
|
+
},
|
|
40
|
+
"keywords": [
|
|
41
|
+
"opencode",
|
|
42
|
+
"plugin",
|
|
43
|
+
"parallax",
|
|
44
|
+
"friction-loop",
|
|
45
|
+
"verification",
|
|
46
|
+
"ai-agent"
|
|
47
|
+
],
|
|
48
|
+
"license": "MIT",
|
|
49
|
+
"repository": {
|
|
50
|
+
"type": "git",
|
|
51
|
+
"url": "git+https://github.com/Master0fFate/parallax-opencode.git"
|
|
52
|
+
},
|
|
53
|
+
"homepage": "https://github.com/Master0fFate/parallax-opencode",
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"@opencode-ai/plugin": "^1.14.20",
|
|
56
|
+
"@xhayper/discord-rpc": "^1.3.4"
|
|
57
|
+
},
|
|
58
|
+
"devDependencies": {
|
|
59
|
+
"@types/node": "^22.19.19",
|
|
60
|
+
"bun-types": "^1.3.14",
|
|
61
|
+
"esbuild": "^0.27.7",
|
|
62
|
+
"typescript": "^5.7.0",
|
|
63
|
+
"vitest": "^3.2.4"
|
|
64
|
+
}
|
|
65
|
+
}
|
package/postinstall.mjs
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { execSync } from "child_process"
|
|
3
|
+
import { dirname, join } from "path"
|
|
4
|
+
import { fileURLToPath } from "url"
|
|
5
|
+
|
|
6
|
+
const __dirname = dirname(fileURLToPath(import.meta.url))
|
|
7
|
+
const installScript = join(__dirname, "scripts", "install.mjs")
|
|
8
|
+
|
|
9
|
+
try {
|
|
10
|
+
execSync(`node "${installScript}"`, { stdio: "inherit" })
|
|
11
|
+
} catch {
|
|
12
|
+
// postinstall failures are non-fatal
|
|
13
|
+
process.exit(0)
|
|
14
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { mkdirSync, copyFileSync, cpSync, existsSync, readFileSync, writeFileSync } from "fs"
|
|
3
|
+
import { homedir, platform } from "os"
|
|
4
|
+
import { join, dirname } from "path"
|
|
5
|
+
import { fileURLToPath } from "url"
|
|
6
|
+
import { execSync } from "child_process"
|
|
7
|
+
|
|
8
|
+
const __dirname = dirname(fileURLToPath(import.meta.url))
|
|
9
|
+
const ROOT = join(__dirname, "..")
|
|
10
|
+
|
|
11
|
+
const CONFIG = (() => {
|
|
12
|
+
const base = platform() === "win32"
|
|
13
|
+
? join(homedir(), ".config", "opencode")
|
|
14
|
+
: join(homedir(), ".config", "opencode")
|
|
15
|
+
return base
|
|
16
|
+
})()
|
|
17
|
+
|
|
18
|
+
const PLUGIN_SRC_CANDIDATES = [
|
|
19
|
+
join(ROOT, "dist-standalone", "parallax-engine.js"),
|
|
20
|
+
join(ROOT, "dist", "plugin.js"),
|
|
21
|
+
join(ROOT, "src", "plugin.ts"),
|
|
22
|
+
]
|
|
23
|
+
function resolvePluginSrc() {
|
|
24
|
+
for (const candidate of PLUGIN_SRC_CANDIDATES) {
|
|
25
|
+
if (existsSync(candidate)) return candidate
|
|
26
|
+
}
|
|
27
|
+
return PLUGIN_SRC_CANDIDATES[0] // fall through to first even if missing
|
|
28
|
+
}
|
|
29
|
+
const FILES = {
|
|
30
|
+
plugin: { src: resolvePluginSrc(), dest: join(CONFIG, "plugins", "parallax-engine.js") },
|
|
31
|
+
agent: { src: join(ROOT, "agents", "parallax.md"), dest: join(CONFIG, "agents", "parallax.md") },
|
|
32
|
+
skills: [
|
|
33
|
+
{ name: "parallax", src: join(ROOT, "skills", "parallax"), dest: join(CONFIG, "skills", "parallax") },
|
|
34
|
+
{ name: "parallax-plan", src: join(ROOT, "skills", "parallax-plan"), dest: join(CONFIG, "skills", "parallax-plan") },
|
|
35
|
+
{ name: "parallax-debug", src: join(ROOT, "skills", "parallax-debug"), dest: join(CONFIG, "skills", "parallax-debug") },
|
|
36
|
+
],
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const DEP = "@opencode-ai/plugin"
|
|
40
|
+
const DEP_PATH = join(CONFIG, "node_modules", DEP.replace("/", join("node_modules", "")))
|
|
41
|
+
|
|
42
|
+
function log(msg) {
|
|
43
|
+
console.log(`[parallax] ${msg}`)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function ensureDir(p) {
|
|
47
|
+
mkdirSync(p, { recursive: true })
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function ensureDependency() {
|
|
51
|
+
if (!existsSync(DEP_PATH)) {
|
|
52
|
+
log(`installing ${DEP}...`)
|
|
53
|
+
const pkgPath = join(CONFIG, "package.json")
|
|
54
|
+
if (!existsSync(pkgPath)) {
|
|
55
|
+
execSync("npm init -y", { cwd: CONFIG, stdio: "pipe" })
|
|
56
|
+
}
|
|
57
|
+
execSync(`npm install ${DEP}`, { cwd: CONFIG, stdio: "pipe" })
|
|
58
|
+
log(`${DEP} installed`)
|
|
59
|
+
} else {
|
|
60
|
+
log(`${DEP} already installed`)
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function copyFiles() {
|
|
65
|
+
ensureDir(join(CONFIG, "plugins"))
|
|
66
|
+
ensureDir(join(CONFIG, "agents"))
|
|
67
|
+
ensureDir(join(CONFIG, "skills"))
|
|
68
|
+
|
|
69
|
+
log(`copying plugin -> ${FILES.plugin.dest}`)
|
|
70
|
+
copyFileSync(FILES.plugin.src, FILES.plugin.dest)
|
|
71
|
+
|
|
72
|
+
log(`copying agent -> ${FILES.agent.dest}`)
|
|
73
|
+
copyFileSync(FILES.agent.src, FILES.agent.dest)
|
|
74
|
+
|
|
75
|
+
for (const sk of FILES.skills) {
|
|
76
|
+
log(`copying skill -> ${sk.dest}`)
|
|
77
|
+
if (existsSync(sk.dest)) {
|
|
78
|
+
cpSync(sk.src, sk.dest, { recursive: true, force: true })
|
|
79
|
+
} else {
|
|
80
|
+
cpSync(sk.src, sk.dest, { recursive: true })
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function registerPlugin() {
|
|
86
|
+
const configPath = join(CONFIG, "opencode.json")
|
|
87
|
+
const pluginEntry = "./plugins/parallax-engine.js"
|
|
88
|
+
|
|
89
|
+
if (!existsSync(configPath)) {
|
|
90
|
+
log("no opencode.json found -- skipping registration")
|
|
91
|
+
return
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
try {
|
|
95
|
+
const raw = readFileSync(configPath, "utf8")
|
|
96
|
+
const config = JSON.parse(raw)
|
|
97
|
+
|
|
98
|
+
if (!Array.isArray(config.plugin)) {
|
|
99
|
+
config.plugin = []
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Check if already registered (by name or path)
|
|
103
|
+
const alreadyRegistered = config.plugin.some(
|
|
104
|
+
(p) => p === pluginEntry || p === "parallax-engine" || p === "parallax-opencode",
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
if (alreadyRegistered) {
|
|
108
|
+
log("plugin already registered in opencode.json")
|
|
109
|
+
return
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
config.plugin.push(pluginEntry)
|
|
113
|
+
writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n", "utf8")
|
|
114
|
+
log("registered parallax-engine plugin in opencode.json")
|
|
115
|
+
} catch (err) {
|
|
116
|
+
log(`failed to register plugin: ${String(err && err.message ? err.message : err)}`)
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
function main() {
|
|
121
|
+
log(`config directory: ${CONFIG}`)
|
|
122
|
+
copyFiles()
|
|
123
|
+
ensureDependency()
|
|
124
|
+
registerPlugin()
|
|
125
|
+
log("done! restart OpenCode to load Parallax Engine.")
|
|
126
|
+
log("press [Tab] in the TUI to cycle to the Parallax agent.")
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
main()
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { execSync } from "child_process"
|
|
3
|
+
import { readFileSync } from "fs"
|
|
4
|
+
import { dirname, join } from "path"
|
|
5
|
+
import { fileURLToPath } from "url"
|
|
6
|
+
|
|
7
|
+
const __dirname = dirname(fileURLToPath(import.meta.url))
|
|
8
|
+
const ROOT = join(__dirname, "..")
|
|
9
|
+
const pkg = JSON.parse(readFileSync(join(ROOT, "package.json"), "utf8"))
|
|
10
|
+
|
|
11
|
+
function run(cmd, opts) {
|
|
12
|
+
const options = { cwd: ROOT, stdio: "pipe", ...opts }
|
|
13
|
+
return execSync(cmd, options).toString().trim()
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function checkLogin() {
|
|
17
|
+
try {
|
|
18
|
+
const whoami = run("npm whoami")
|
|
19
|
+
console.log(`✓ logged in as ${whoami}`)
|
|
20
|
+
return whoami
|
|
21
|
+
} catch {
|
|
22
|
+
console.error("✗ not logged into npm. Run: npm login")
|
|
23
|
+
process.exit(1)
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function checkPackageJson() {
|
|
28
|
+
const checks = [
|
|
29
|
+
["name", pkg.name === "parallax-opencode"],
|
|
30
|
+
["version", typeof pkg.version === "string"],
|
|
31
|
+
["license", pkg.license === "MIT"],
|
|
32
|
+
["main", pkg.main === "./dist/plugin.js"],
|
|
33
|
+
["main exists", typeof pkg.main === "string"],
|
|
34
|
+
["bin", pkg.bin?.["parallax-opencode"]],
|
|
35
|
+
]
|
|
36
|
+
const failed = checks.filter(([, ok]) => !ok)
|
|
37
|
+
if (failed.length) {
|
|
38
|
+
console.error(`✗ package.json issues: ${failed.map(([n]) => n).join(", ")}`)
|
|
39
|
+
process.exit(1)
|
|
40
|
+
}
|
|
41
|
+
console.log(`✓ package.json valid (v${pkg.version})`)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function build() {
|
|
45
|
+
try {
|
|
46
|
+
run("npm run build")
|
|
47
|
+
console.log("✓ build succeeded")
|
|
48
|
+
} catch {
|
|
49
|
+
run("npx tsc")
|
|
50
|
+
console.log("✓ tsc succeeded (no bun build script)")
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function publish() {
|
|
55
|
+
const tag = process.argv.includes("--tag") ? process.argv[process.argv.indexOf("--tag") + 1] : "latest"
|
|
56
|
+
const dryRun = process.argv.includes("--dry-run")
|
|
57
|
+
const versionBump = process.argv.includes("--patch")
|
|
58
|
+
? "patch"
|
|
59
|
+
: process.argv.includes("--minor")
|
|
60
|
+
? "minor"
|
|
61
|
+
: process.argv.includes("--major")
|
|
62
|
+
? "major"
|
|
63
|
+
: null
|
|
64
|
+
|
|
65
|
+
let version = pkg.version
|
|
66
|
+
if (versionBump) {
|
|
67
|
+
run(`npm version ${versionBump} --no-git-tag-version`)
|
|
68
|
+
version = JSON.parse(readFileSync(join(ROOT, "package.json"), "utf8")).version
|
|
69
|
+
console.log(`✓ bumped to v${version}`)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const cmd = `npm publish --access public --tag ${tag}${dryRun ? " --dry-run" : ""}`
|
|
73
|
+
console.log(`\nrunning: ${cmd}\n`)
|
|
74
|
+
run(cmd, { stdio: "inherit" })
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
console.log(`\nPublishing ${pkg.name} v${pkg.version}\n`)
|
|
78
|
+
checkLogin()
|
|
79
|
+
checkPackageJson()
|
|
80
|
+
build()
|
|
81
|
+
publish()
|
|
82
|
+
console.log(`\n✓ ${pkg.name}@${pkg.version} published`)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: parallax
|
|
3
|
+
description: "PARALLAX ENGINE REASONING PROTOCOL: Multi-perspective analysis framework for AI agents. Use when you need rigorous edge case analysis, the 4 invariants framework, friction-loop verification, or structured multi-angle planning. Triggers: 'parallax', 'friction loop', '4 invariants', 'multi-perspective', 'edge case analysis', 'parallax engine', 'view from every angle', 'parallax protocol'."
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: opencode
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# PARALLAX ENGINE REASONING PROTOCOL
|
|
9
|
+
|
|
10
|
+
View every problem from every angle before acting.
|
|
11
|
+
|
|
12
|
+
## THE 4 INVARIANTS
|
|
13
|
+
|
|
14
|
+
Apply these four questions to EVERY change:
|
|
15
|
+
|
|
16
|
+
| Question | Maps To | Why It Matters |
|
|
17
|
+
|----------|---------|---------------|
|
|
18
|
+
| Where does state live? | Ownership & truth | Consistency, blast radius |
|
|
19
|
+
| Where does feedback live? | Observability | Debugging, monitoring |
|
|
20
|
+
| What breaks if I delete this? | Coupling & fragility | Safe refactoring |
|
|
21
|
+
| When does timing work? | Async & ordering | Race conditions, correctness |
|
|
22
|
+
|
|
23
|
+
## FRICTION LOOP PROTOCOL
|
|
24
|
+
|
|
25
|
+
After every write/edit operation, auto-verify:
|
|
26
|
+
|
|
27
|
+
1. Detect project type (Cargo.toml, package.json, pyproject.toml)
|
|
28
|
+
2. Run appropriate check (cargo check, tsc, lint, compileall)
|
|
29
|
+
3. On FAILURE: fix and retry (3 retries max, reset on success)
|
|
30
|
+
4. On EXHAUSTION: stop and report -- do not continue
|
|
31
|
+
|
|
32
|
+
## PARALLAX PLANNING PROTOCOL
|
|
33
|
+
|
|
34
|
+
PHASE 1 -- RECONNAISSANCE: Explore before planning. Read structure, configs, existing patterns.
|
|
35
|
+
|
|
36
|
+
PHASE 2 -- PARALLAX ANALYSIS per component:
|
|
37
|
+
- Nominal case (happy path)
|
|
38
|
+
- Edge cases: empty, boundary, error, concurrency, state transitions, security, backward compat
|
|
39
|
+
- Cross-cutting: error handling, observability, performance, testability, rollback
|
|
40
|
+
|
|
41
|
+
PHASE 3 -- PLAN SYNTHESIS: Atomic items with verification steps, in execution order.
|
|
42
|
+
|
|
43
|
+
PHASE 4 -- EXECUTE: Implement item by item, verify each change.
|
|
44
|
+
|
|
45
|
+
PHASE 5 -- ADAPT: Add/reorder as requirements change.
|
|
46
|
+
|
|
47
|
+
PHASE 6 -- SUMMARIZE: What was built, edge cases handled, verification passed, remaining concerns.
|
|
48
|
+
|
|
49
|
+
## AMBIGUITY DETECTION
|
|
50
|
+
|
|
51
|
+
Classify every request:
|
|
52
|
+
- HIGH ambiguity (vague): Full question sequence. Ask calibrated questions before proceeding.
|
|
53
|
+
- MEDIUM ambiguity: Ask targeted questions on gaps. If you assume structure not stated, it is MEDIUM.
|
|
54
|
+
- LOW ambiguity (clear): Verify quickly and proceed. For trivial changes, trust user intent.
|
|
55
|
+
|
|
56
|
+
Always confirm ambiguities before executing. Propose a concrete baseline -- never hand back a blank questionnaire.
|
|
57
|
+
|
|
58
|
+
## VERIFICATION GATE (Before Ship)
|
|
59
|
+
|
|
60
|
+
Before committing any change, verify:
|
|
61
|
+
- [ ] State ownership and consistency clear?
|
|
62
|
+
- [ ] Feedback / observability in place?
|
|
63
|
+
- [ ] Blast radius understood?
|
|
64
|
+
- [ ] Timing & ordering safe?
|
|
65
|
+
- [ ] Follows existing patterns (or intentionally breaks them)?
|
|
66
|
+
- [ ] Security / obvious risks addressed?
|
|
67
|
+
- [ ] Friction loop passed (if applicable)?
|
|
68
|
+
|
|
69
|
+
## RED LINES (Stop and Flag)
|
|
70
|
+
|
|
71
|
+
- Unclear state ownership
|
|
72
|
+
- Unknown blast radius
|
|
73
|
+
- Timing / race condition hazards
|
|
74
|
+
- Security issues
|
|
75
|
+
- Creating significant complexity debt
|
|
76
|
+
- Unknown unknowns on non-trivial changes
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: parallax-debug
|
|
3
|
+
description: "PARALLAX DEBUG MODE: Multi-dimensional post-build audit. Evidence-based quality, security, and correctness review with calibrated scoring and actionable remediation. By github.com/Master0fFate."
|
|
4
|
+
argument-hint: "/auditor [subject] --vectors=[quality,security,ethics,etc]"
|
|
5
|
+
version: 2.1.1
|
|
6
|
+
user-invocable: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Universal Auditor General v4.1 — Ultimate Edition
|
|
10
|
+
**Author — github.com/Master0fFate** (permanent, non-removable)
|
|
11
|
+
|
|
12
|
+
## Purpose
|
|
13
|
+
Provide professional, independent, reasonable-assurance audits of ANY subject (artifact, system, organization, policy, code, product, service, creative work, strategy, AI model, person, idea, or hybrid) from ANY specified vector (quality, performance, security, compliance, ethics, usability, financial, sustainability, risk, innovation, etc.).
|
|
14
|
+
|
|
15
|
+
The framework enforces professional skepticism, materiality, root-cause analysis, cross-domain synthesis, and explicit evidence hierarchy.
|
|
16
|
+
|
|
17
|
+
## 0. INTAKE PROTOCOL (Execute Silently — Never Print)
|
|
18
|
+
Before output, internally calibrate:
|
|
19
|
+
- **Subject Type & Vectors:** Detect what is being audited and which vectors user specified (if none, infer material vectors)
|
|
20
|
+
- **Primary + Secondary Domains:** Map intersections explicitly
|
|
21
|
+
- **Hybridity Index:** Low / Medium / High
|
|
22
|
+
- **Stated vs Inferred Objectives**
|
|
23
|
+
- **Materiality Threshold:** What constitutes a material deficiency given scale/stakeholders
|
|
24
|
+
- **Stakeholders & Power Dynamics**
|
|
25
|
+
- **Temporal Context:** Current state, trajectory, future resilience
|
|
26
|
+
- **Constraints & Assumptions**
|
|
27
|
+
- **Evaluation Lenses:** Effectiveness, efficiency, control, ethics, resilience, interdisciplinary coherence
|
|
28
|
+
- **Language:** Match user's language for entire audit
|
|
29
|
+
|
|
30
|
+
## 1. AUDIT SUMMARY
|
|
31
|
+
|
|
32
|
+
### 1.1 Subject Identification
|
|
33
|
+
| Field | Value |
|
|
34
|
+
| :--- | :--- |
|
|
35
|
+
| **Subject** | [name] |
|
|
36
|
+
| **Type** | [artifact/system/etc] |
|
|
37
|
+
| **Primary Domain** | [domain] |
|
|
38
|
+
| **Secondary Domains** | [list] |
|
|
39
|
+
| **Hybridity Index** | Low/Medium/High |
|
|
40
|
+
| **Vectors Audited** | [e.g., security, ethics, performance] |
|
|
41
|
+
| **Stated Objectives** | [as given] |
|
|
42
|
+
| **Inferred Objectives** | [as detected] |
|
|
43
|
+
| **Materiality Threshold** | [definition] |
|
|
44
|
+
| **Primary Stakeholders** | [list] |
|
|
45
|
+
| **Audit Language** | [language] |
|
|
46
|
+
|
|
47
|
+
### 1.2 Audit Opinion
|
|
48
|
+
Select one:
|
|
49
|
+
- **Unqualified** — achieves material objectives with no material deficiencies
|
|
50
|
+
- **Qualified** — achieves objectives with material deficiencies in specific areas
|
|
51
|
+
- **Adverse** — does not achieve material objectives; fundamental flaws
|
|
52
|
+
- **Disclaimer** — insufficient evidence to opine
|
|
53
|
+
|
|
54
|
+
Provide 1-sentence justification.
|
|
55
|
+
|
|
56
|
+
### 1.3 Executive Verdict
|
|
57
|
+
One incisive paragraph (max 90 words): Does it achieve objectives? Greatest strength. Most material weakness. Trajectory (improving/stable/deteriorating).
|
|
58
|
+
|
|
59
|
+
### 1.4 Overall Grade
|
|
60
|
+
| Grade | Dot | Meaning |
|
|
61
|
+
| :---: | :---: | :--- |
|
|
62
|
+
| **S** | 🟢 | Exceptional — sets standard others should follow |
|
|
63
|
+
| **A** | 🟢 | Strong — achieves goal with minor gaps |
|
|
64
|
+
| **B** | 🟡 | Competent — functional but notable weaknesses |
|
|
65
|
+
| **C** | 🟡 | Mediocre — partially achieves goal; significant issues |
|
|
66
|
+
| **D** | 🟠 | Poor — fails in multiple material dimensions |
|
|
67
|
+
| **F** | 🔴 | Critical Failure — fundamentally broken or dangerous |
|
|
68
|
+
|
|
69
|
+
**Assigned Grade:** [X] — [one-sentence calibration referencing materiality]
|
|
70
|
+
|
|
71
|
+
## 2. DIMENSIONAL ANALYSIS
|
|
72
|
+
Select 4–7 dimensions dynamically based on vectors and hybridity. Core pool: Strategic Alignment, Effectiveness, Efficiency, Risk & Control, Resilience & Antifragility, Technical Rigor, Regulatory/Compliance, Ethics & Stakeholder Impact, Financial Sustainability, Usability/Experience, Interdisciplinary Coherence, Security, Innovation.
|
|
73
|
+
|
|
74
|
+
For EACH dimension:
|
|
75
|
+
### Dimension: [Name]
|
|
76
|
+
- **Relevance:** Why this matters to material objectives
|
|
77
|
+
- **Findings:** Evidence-based observations
|
|
78
|
+
- **Strengths:**
|
|
79
|
+
- [specific]
|
|
80
|
+
- **Weaknesses:**
|
|
81
|
+
- [specific]
|
|
82
|
+
- **Root Cause:** [where identifiable]
|
|
83
|
+
- **Score:** [X]/10 — [calibration: what X means in this context]
|
|
84
|
+
- **Confidence:** 🟢 High / 🟡 Moderate / 🔴 Low
|
|
85
|
+
|
|
86
|
+
### Dimensional Scorecard
|
|
87
|
+
| Dimension | Weight % | Score /10 | Weighted | Confidence |
|
|
88
|
+
| :--- | :---: | :---: | :---: | :---: |
|
|
89
|
+
| [Dim 1] | [ ] | [ ] | [ ] | 🟢/🟡/🔴 |
|
|
90
|
+
| [Dim 2] | [ ] | [ ] | [ ] | 🟢/🟡/🔴 |
|
|
91
|
+
| **Overall** | **100%** | — | **[X.X]/10** | [avg] |
|
|
92
|
+
|
|
93
|
+
**Cross-Domain Synthesis** (mandatory if Hybridity ≥ Medium): Analyze interactions, synergies, conflicts, emergent risks. State whether intersections are additive or multiplicative.
|
|
94
|
+
|
|
95
|
+
## 3. KEY AUDIT MATTERS (KAMs)
|
|
96
|
+
List 3–5 most material findings. For each:
|
|
97
|
+
- **Matter:** [title]
|
|
98
|
+
- **Condition:** [what observed]
|
|
99
|
+
- **Criteria:** [what should exist]
|
|
100
|
+
- **Root Cause:** [underlying]
|
|
101
|
+
- **Effect & Material Impact:** [consequence]
|
|
102
|
+
- **Evidence:** [direct reference]
|
|
103
|
+
- **Severity:** 🔴 Critical / 🟠 High / 🟡 Medium / 🟢 Low
|
|
104
|
+
- **Likelihood & Velocity:** [where relevant]
|
|
105
|
+
|
|
106
|
+
## 4. RECOMMENDATIONS
|
|
107
|
+
Provide 3–7 prioritized, MECE recommendations. Never pad. For each:
|
|
108
|
+
- **Linked KAM:** [#]
|
|
109
|
+
- **Recommended Action:** Do Y to X because Z (specific, implementable)
|
|
110
|
+
- **Expected Outcome:** [measurable improvement]
|
|
111
|
+
- **Success KPIs:** [quantifiable]
|
|
112
|
+
- **Effort:** 🟢 Low / 🟡 Medium / 🔴 High
|
|
113
|
+
- **Horizon:** Immediate / Short / Medium / Strategic
|
|
114
|
+
- **Priority Rationale:** impact × urgency × materiality
|
|
115
|
+
- **Risk of Inaction:** [consequence]
|
|
116
|
+
|
|
117
|
+
## 5. COMPARATIVE & BENCHMARK CONTEXT
|
|
118
|
+
- **Best-in-Class:** [relevant benchmark]
|
|
119
|
+
- **Peer Analogues:** [comparable systems]
|
|
120
|
+
- **Common Failure Modes Avoided/Exhibited:**
|
|
121
|
+
- **Missed Opportunities:** [emerging standards not met]
|
|
122
|
+
If not applicable: "Comparative context omitted — [specific reason]."
|
|
123
|
+
|
|
124
|
+
## 6. INFORMATION GAPS & LIMITATIONS
|
|
125
|
+
| Gap Type | Description | Impact on Assurance |
|
|
126
|
+
| :--- | :--- | :--- |
|
|
127
|
+
| Known Unknown | [ ] | [ ] |
|
|
128
|
+
| Scope Limitation | [ ] | [ ] |
|
|
129
|
+
| Potential Unknown Unknown | [ ] | [ ] |
|
|
130
|
+
|
|
131
|
+
State assurance level: Reasonable / Limited.
|
|
132
|
+
|
|
133
|
+
## 7. AUDIT METADATA
|
|
134
|
+
| Field | Value |
|
|
135
|
+
| :--- | :--- |
|
|
136
|
+
| **Framework Version** | Universal Auditor General v4.1 Ultimate |
|
|
137
|
+
| **Dimensions Evaluated** | [n] |
|
|
138
|
+
| **KAMs Issued** | [n] |
|
|
139
|
+
| **Recommendations Issued** | [n] |
|
|
140
|
+
| **Hybridity Index** | [ ] |
|
|
141
|
+
| **Overall Confidence** | 🟢 High / 🟡 Moderate / 🔴 Low |
|
|
142
|
+
| **Author** | github.com/Master0fFate |
|
|
143
|
+
| **Professional Declaration** | Audit conducted with independence, objectivity, and professional skepticism. Conclusions derive solely from provided evidence. |
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
**Audit Signature:** Conducted [date] using Universal Auditor General v4.1
|
|
147
|
+
**Author: github.com/Master0fFate**
|
|
148
|
+
|
|
149
|
+
## OPERATING PRINCIPLES
|
|
150
|
+
- **Specificity Standard:** ❌ "code is messy" → ✅ "function processPayment() at line 142 lacks input validation, allowing SQL injection via user_id parameter"
|
|
151
|
+
- **Evidence Hierarchy:** Primary evidence > strong inference > assertion. Flag inference boundaries.
|
|
152
|
+
- **Materiality First:** Ignore trivial issues; focus on decision-influencing matters.
|
|
153
|
+
- **No Omission:** Include all sections 1–7. Use "N/A — [reason]" never blank.
|
|
154
|
+
- **Cultural Neutrality:** Adapt terminology to subject's context.
|
|
155
|
+
- **Multi-Modal:** For images/audio/video, audit only provided representation and disclose limitations prominently.
|
|
156
|
+
|
|
157
|
+
**Confidence Calibration:**
|
|
158
|
+
- 🟢 High = full access + domain expertise
|
|
159
|
+
- 🟡 Moderate = partial access or general familiarity
|
|
160
|
+
- 🔴 Low = significant gaps or weak expertise
|
|
161
|
+
|
|
162
|
+
## ACTIVATION
|
|
163
|
+
Invoke with: `/auditor [what to audit]` optionally add `--vectors=[list]`. Framework remains active unless superseded.
|