@defai.digital/automatosx 12.8.7 → 13.1.2
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 +1 -1
- package/dist/bin.d.ts +8 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +16 -0
- package/dist/bin.js.map +1 -0
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -74239
- package/dist/index.js.map +1 -0
- package/package.json +35 -160
- package/.github/assets/ax-cli.png +0 -0
- package/.github/assets/axlogo.png +0 -0
- package/CHANGELOG.md +0 -81
- package/README.md +0 -790
- package/SECURITY.md +0 -173
- package/dist/mcp/index.d.ts +0 -2
- package/dist/mcp/index.js +0 -43627
- package/examples/AGENTS_INFO.md +0 -187
- package/examples/README.md +0 -434
- package/examples/abilities/accessibility.md +0 -115
- package/examples/abilities/api-design.md +0 -168
- package/examples/abilities/best-practices.md +0 -102
- package/examples/abilities/caching-strategy.md +0 -165
- package/examples/abilities/ci-cd.md +0 -61
- package/examples/abilities/clean-code.md +0 -398
- package/examples/abilities/code-generation.md +0 -333
- package/examples/abilities/code-review.md +0 -51
- package/examples/abilities/component-architecture.md +0 -112
- package/examples/abilities/content-creation.md +0 -97
- package/examples/abilities/data-modeling.md +0 -171
- package/examples/abilities/data-validation.md +0 -50
- package/examples/abilities/db-modeling.md +0 -167
- package/examples/abilities/debugging.md +0 -52
- package/examples/abilities/design-patterns.md +0 -437
- package/examples/abilities/design-system-implementation.md +0 -126
- package/examples/abilities/documentation.md +0 -54
- package/examples/abilities/etl-pipelines.md +0 -44
- package/examples/abilities/feasibility-study.md +0 -20
- package/examples/abilities/general-assistance.md +0 -26
- package/examples/abilities/idea-evaluation.md +0 -21
- package/examples/abilities/infra-as-code.md +0 -57
- package/examples/abilities/job-orchestration.md +0 -44
- package/examples/abilities/literature-review.md +0 -19
- package/examples/abilities/longform-report.md +0 -25
- package/examples/abilities/mathematical-reasoning.md +0 -170
- package/examples/abilities/observability.md +0 -61
- package/examples/abilities/orbital-mechanics.md +0 -50
- package/examples/abilities/our-architecture-decisions.md +0 -180
- package/examples/abilities/our-code-review-checklist.md +0 -149
- package/examples/abilities/our-coding-standards.md +0 -369
- package/examples/abilities/our-project-structure.md +0 -183
- package/examples/abilities/performance.md +0 -89
- package/examples/abilities/problem-solving.md +0 -50
- package/examples/abilities/propulsion-systems.md +0 -50
- package/examples/abilities/quantum-algorithm-design.md +0 -54
- package/examples/abilities/quantum-error-correction.md +0 -56
- package/examples/abilities/quantum-frameworks-transpilation.md +0 -53
- package/examples/abilities/quantum-noise-modeling.md +0 -58
- package/examples/abilities/refactoring.md +0 -223
- package/examples/abilities/release-strategy.md +0 -58
- package/examples/abilities/secrets-policy.md +0 -61
- package/examples/abilities/secure-coding-review.md +0 -60
- package/examples/abilities/software-architecture.md +0 -394
- package/examples/abilities/solid-principles.md +0 -341
- package/examples/abilities/sql-optimization.md +0 -84
- package/examples/abilities/state-management.md +0 -96
- package/examples/abilities/task-planning.md +0 -65
- package/examples/abilities/technical-writing.md +0 -77
- package/examples/abilities/telemetry-diagnostics.md +0 -51
- package/examples/abilities/testing.md +0 -56
- package/examples/abilities/threat-modeling.md +0 -58
- package/examples/abilities/troubleshooting.md +0 -80
- package/examples/abilities/typescript-zod-validation.md +0 -830
- package/examples/agents/AGENTS_INTEGRATION.md +0 -99
- package/examples/agents/aerospace-scientist.yaml +0 -159
- package/examples/agents/architecture.yaml +0 -244
- package/examples/agents/automatosx.config.json +0 -286
- package/examples/agents/backend.yaml +0 -141
- package/examples/agents/ceo.yaml +0 -105
- package/examples/agents/creative-marketer.yaml +0 -173
- package/examples/agents/cto.yaml +0 -118
- package/examples/agents/data-scientist.yaml +0 -200
- package/examples/agents/data.yaml +0 -106
- package/examples/agents/design.yaml +0 -115
- package/examples/agents/devops.yaml +0 -124
- package/examples/agents/frontend.yaml +0 -171
- package/examples/agents/fullstack.yaml +0 -172
- package/examples/agents/mobile.yaml +0 -185
- package/examples/agents/product.yaml +0 -103
- package/examples/agents/quality.yaml +0 -117
- package/examples/agents/quantum-engineer.yaml +0 -166
- package/examples/agents/researcher.yaml +0 -122
- package/examples/agents/security.yaml +0 -115
- package/examples/agents/standard.yaml +0 -214
- package/examples/agents/writer.yaml +0 -122
- package/examples/providers/README.md +0 -117
- package/examples/providers/claude/CLAUDE_INTEGRATION.md +0 -302
- package/examples/providers/claude/mcp/automatosx.json +0 -244
- package/examples/providers/codex/CODEX_INTEGRATION.md +0 -593
- package/examples/providers/codex/README.md +0 -349
- package/examples/providers/codex/usage-examples.ts +0 -421
- package/examples/providers/gemini/GEMINI_INTEGRATION.md +0 -236
- package/examples/providers/gemini/README.md +0 -76
- package/examples/providers/openai-codex-example.ts +0 -421
- package/examples/pytorch_resnet50_training.py +0 -289
- package/examples/specs/automatosx-release.ax.yaml +0 -380
- package/examples/specs/enterprise.ax.yaml +0 -121
- package/examples/specs/enterprise.yaml.mustache +0 -121
- package/examples/specs/government.ax.yaml +0 -148
- package/examples/specs/government.yaml.mustache +0 -148
- package/examples/specs/minimal.ax.yaml +0 -21
- package/examples/specs/minimal.yaml.mustache +0 -21
- package/examples/teams/business.yaml +0 -56
- package/examples/teams/core.yaml +0 -60
- package/examples/teams/design.yaml +0 -58
- package/examples/teams/engineering.yaml +0 -69
- package/examples/teams/research.yaml +0 -56
- package/examples/use-cases/01-web-app-development.md +0 -374
- package/examples/workflows/analyst.yaml +0 -60
- package/examples/workflows/assistant.yaml +0 -48
- package/examples/workflows/basic-agent.yaml +0 -28
- package/examples/workflows/code-reviewer.yaml +0 -52
- package/examples/workflows/debugger.yaml +0 -63
- package/examples/workflows/designer.yaml +0 -69
- package/examples/workflows/developer.yaml +0 -60
- package/examples/workflows/fullstack-developer.yaml +0 -395
- package/examples/workflows/qa-specialist.yaml +0 -71
- package/schema/ability-metadata.json +0 -21
- package/schema/config.json +0 -703
- package/schema/spec-schema.json +0 -608
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
Goal
|
|
2
|
-
- Evaluate ideas against objectives, constraints, user value, and alternatives.
|
|
3
|
-
|
|
4
|
-
How to do it
|
|
5
|
-
- Clarify the objective, target users, and measurable outcomes.
|
|
6
|
-
- Identify assumptions; label each as validated, unvalidated, or unknown.
|
|
7
|
-
- Compare at least two alternatives; state trade‑offs.
|
|
8
|
-
- Use simple scoring (e.g., 1–5) for value, cost, risk, and time.
|
|
9
|
-
|
|
10
|
-
Do
|
|
11
|
-
- Show a short decision table with criteria and scores.
|
|
12
|
-
- Call out unknowns and how to validate them.
|
|
13
|
-
- Provide an executive summary before details.
|
|
14
|
-
|
|
15
|
-
Don’t
|
|
16
|
-
- Don’t assume feasibility without evidence.
|
|
17
|
-
- Don’t hide uncertainties; surface them with next steps.
|
|
18
|
-
|
|
19
|
-
Output
|
|
20
|
-
- A concise evaluation with assumptions, alternatives, scores, and a clear recommendation.
|
|
21
|
-
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# Infrastructure as Code
|
|
2
|
-
|
|
3
|
-
Define and manage infrastructure through code using Terraform, Pulumi, or AWS CDK. Enable version control, reproducibility, and automation.
|
|
4
|
-
|
|
5
|
-
## Do's ✅
|
|
6
|
-
|
|
7
|
-
```hcl
|
|
8
|
-
# ✅ Good: Modular Terraform
|
|
9
|
-
resource "aws_vpc" "main" {
|
|
10
|
-
cidr_block = var.vpc_cidr
|
|
11
|
-
enable_dns_hostnames = true
|
|
12
|
-
|
|
13
|
-
tags = {
|
|
14
|
-
Name = "${var.project}-vpc"
|
|
15
|
-
Environment = var.environment
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
# ✅ Good: Remote state with locking
|
|
20
|
-
terraform {
|
|
21
|
-
backend "s3" {
|
|
22
|
-
bucket = "terraform-state"
|
|
23
|
-
key = "prod/terraform.tfstate"
|
|
24
|
-
region = "us-east-1"
|
|
25
|
-
encrypt = true
|
|
26
|
-
dynamodb_table = "terraform-locks"
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
# ✅ Good: Use modules
|
|
31
|
-
module "vpc" {
|
|
32
|
-
source = "terraform-aws-modules/vpc/aws"
|
|
33
|
-
version = "~> 3.0"
|
|
34
|
-
name = "${var.project}-vpc"
|
|
35
|
-
cidr = var.vpc_cidr
|
|
36
|
-
}
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Don'ts ❌
|
|
40
|
-
|
|
41
|
-
```hcl
|
|
42
|
-
# ❌ Bad: Hardcoded values
|
|
43
|
-
resource "aws_instance" "web" {
|
|
44
|
-
ami = "ami-0c55b159cbfafe1f0" # Region-specific!
|
|
45
|
-
subnet_id = "subnet-12345" # Hardcoded
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
# ❌ Bad: Manual changes
|
|
49
|
-
# Never modify infrastructure manually in console
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## Best Practices
|
|
53
|
-
- Use workspaces for environments (dev/staging/prod)
|
|
54
|
-
- Enable state locking
|
|
55
|
-
- Always run `terraform plan` before apply
|
|
56
|
-
- Version pin modules and providers
|
|
57
|
-
- Implement automated testing (Terratest)
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# Job Orchestration
|
|
2
|
-
|
|
3
|
-
Schedule and orchestrate data jobs, pipelines, and workflows. Manage dependencies, retries, and monitoring using orchestration tools.
|
|
4
|
-
|
|
5
|
-
## Do's ✅
|
|
6
|
-
|
|
7
|
-
```python
|
|
8
|
-
# ✅ Good: Clear task dependencies (Airflow)
|
|
9
|
-
from airflow import DAG
|
|
10
|
-
from airflow.operators.python import PythonOperator
|
|
11
|
-
|
|
12
|
-
with DAG('user_pipeline', schedule='0 2 * * *') as dag:
|
|
13
|
-
extract = PythonOperator(task_id='extract', python_callable=extract_users)
|
|
14
|
-
transform = PythonOperator(task_id='transform', python_callable=transform_users)
|
|
15
|
-
load = PythonOperator(task_id='load', python_callable=load_users)
|
|
16
|
-
|
|
17
|
-
extract >> transform >> load
|
|
18
|
-
|
|
19
|
-
# ✅ Good: Retry configuration
|
|
20
|
-
PythonOperator(
|
|
21
|
-
task_id='api_call',
|
|
22
|
-
python_callable=call_api,
|
|
23
|
-
retries=3,
|
|
24
|
-
retry_delay=timedelta(minutes=5),
|
|
25
|
-
retry_exponential_backoff=True
|
|
26
|
-
)
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Don'ts ❌
|
|
30
|
-
|
|
31
|
-
```python
|
|
32
|
-
# ❌ Bad: Complex dependencies
|
|
33
|
-
task1 >> [task2, task3, task4] >> task5 >> [task6, task7] >> task8
|
|
34
|
-
|
|
35
|
-
# ✅ Good: Logical groupings
|
|
36
|
-
extract_tasks >> transform_task >> load_tasks
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Best Practices
|
|
40
|
-
- Use task groups for related operations
|
|
41
|
-
- Implement SLA monitoring
|
|
42
|
-
- Configure alerting for failures
|
|
43
|
-
- Version control DAG definitions
|
|
44
|
-
- Use dynamic task generation when appropriate
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
Goal
|
|
2
|
-
- Summarize prior work and credible sources; extract insights and gaps.
|
|
3
|
-
|
|
4
|
-
How to do it
|
|
5
|
-
- Collect 5–10 relevant sources; prefer primary research or official docs.
|
|
6
|
-
- For each source: key claim, method, limits, and applicability.
|
|
7
|
-
- Synthesize themes; identify contradictions and open questions.
|
|
8
|
-
|
|
9
|
-
Do
|
|
10
|
-
- Provide inline citations (Author/Org, Year or URL).
|
|
11
|
-
- Group findings by theme; call out where evidence is weak.
|
|
12
|
-
|
|
13
|
-
Don’t
|
|
14
|
-
- Don’t copy long quotes; summarize.
|
|
15
|
-
- Don’t mix citation and commentary without clearly separating them.
|
|
16
|
-
|
|
17
|
-
Output
|
|
18
|
-
- A thematic summary with citations and a short “Implications for this project” section.
|
|
19
|
-
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
Goal
|
|
2
|
-
- Produce a structured, long‑form report suitable for stakeholders.
|
|
3
|
-
|
|
4
|
-
Structure
|
|
5
|
-
- Title, Author, Date
|
|
6
|
-
- Executive Summary (bullets)
|
|
7
|
-
- Background & Objectives
|
|
8
|
-
- Methodology (how you reasoned / sources)
|
|
9
|
-
- Findings (thematic)
|
|
10
|
-
- Analysis (logic, feasibility, risks)
|
|
11
|
-
- Options & Recommendations (w/ criteria)
|
|
12
|
-
- Citations & Appendices
|
|
13
|
-
|
|
14
|
-
Do
|
|
15
|
-
- Use clear headings, short paragraphs, and lists.
|
|
16
|
-
- Call out assumptions and uncertainties.
|
|
17
|
-
- Add tables where helpful (scores, risks, timelines).
|
|
18
|
-
|
|
19
|
-
Don’t
|
|
20
|
-
- Don’t bury the lede—start with the summary.
|
|
21
|
-
- Don’t omit sources when making claims.
|
|
22
|
-
|
|
23
|
-
Output
|
|
24
|
-
- A polished document following the above structure; aim for clarity over length.
|
|
25
|
-
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
# Mathematical Reasoning
|
|
2
|
-
|
|
3
|
-
## Description
|
|
4
|
-
Rigorous mathematical analysis capabilities spanning linear algebra, calculus, probability, numerical methods, and symbolic reasoning to support research-grade problem solving, model verification, and algorithm design for Bob and Data Scientist while powering Quinn and Astrid workflows.
|
|
5
|
-
|
|
6
|
-
## Core Domains
|
|
7
|
-
|
|
8
|
-
### 1. Linear Algebra
|
|
9
|
-
- Matrix algebra (addition, multiplication, transposition, trace/determinant)
|
|
10
|
-
- Eigenvalue and eigenvector computation (power iteration, QR algorithm)
|
|
11
|
-
- Singular value decomposition, low-rank approximations, and PCA linkage
|
|
12
|
-
- Vector spaces, basis transformations, orthogonality, and projections
|
|
13
|
-
- Positive definiteness checks, conditioning, and spectral properties
|
|
14
|
-
|
|
15
|
-
```python
|
|
16
|
-
import numpy as np
|
|
17
|
-
|
|
18
|
-
A = np.array([[4., 2.], [1., 3.]])
|
|
19
|
-
|
|
20
|
-
eigvals, eigvecs = np.linalg.eig(A)
|
|
21
|
-
u, s, vt = np.linalg.svd(A)
|
|
22
|
-
proj = A @ np.linalg.solve(A.T @ A, A.T) # Least-squares projector
|
|
23
|
-
|
|
24
|
-
cond_number = np.linalg.cond(A)
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### 2. Calculus & Optimization
|
|
28
|
-
- Differential calculus, gradients, Jacobians, Hessians
|
|
29
|
-
- Line search, Newton, quasi-Newton, and trust-region methods
|
|
30
|
-
- Constrained optimization (KKT conditions, Lagrange multipliers)
|
|
31
|
-
- Convex analysis, duality, strong/weak convexity checks
|
|
32
|
-
- Sensitivity analysis and automatic differentiation workflows
|
|
33
|
-
|
|
34
|
-
```python
|
|
35
|
-
import sympy as sp
|
|
36
|
-
|
|
37
|
-
x, y = sp.symbols('x y', real=True)
|
|
38
|
-
f = (x - 2)**2 + (y + 1)**2 + 3 * x * y
|
|
39
|
-
grad = [sp.diff(f, var) for var in (x, y)]
|
|
40
|
-
hessian = sp.hessian(f, (x, y))
|
|
41
|
-
|
|
42
|
-
λ = sp.symbols('λ')
|
|
43
|
-
constraint = x + y - 1
|
|
44
|
-
lagrangian = f + λ * constraint
|
|
45
|
-
kkt_eqs = [sp.diff(lagrangian, var) for var in (x, y, λ)]
|
|
46
|
-
solution = sp.solve(kkt_eqs, (x, y, λ), dict=True)
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
### 3. Probability & Statistics
|
|
50
|
-
- Probability distributions (continuous/discrete), conjugacy, transformations
|
|
51
|
-
- Bayesian inference (posterior computation, MAP/MCMC, credible intervals)
|
|
52
|
-
- Frequentist inference (hypothesis tests, p-values, confidence intervals)
|
|
53
|
-
- Estimators, bias-variance trade-offs, sufficiency, asymptotics
|
|
54
|
-
- Information measures (entropy, KL divergence, mutual information)
|
|
55
|
-
|
|
56
|
-
```python
|
|
57
|
-
import numpy as np
|
|
58
|
-
from scipy import stats
|
|
59
|
-
|
|
60
|
-
# Bayesian update for Beta-Binomial model
|
|
61
|
-
prior_a, prior_b = 2, 2
|
|
62
|
-
successes, trials = 18, 25
|
|
63
|
-
posterior = stats.beta(prior_a + successes, prior_b + trials - successes)
|
|
64
|
-
cred_interval = posterior.interval(0.95)
|
|
65
|
-
evidence = stats.binom.pmf(successes, trials, prior_a / (prior_a + prior_b))
|
|
66
|
-
|
|
67
|
-
# Frequentist hypothesis test
|
|
68
|
-
sample = np.random.normal(loc=1.05, scale=0.2, size=40)
|
|
69
|
-
t_stat, p_value = stats.ttest_1samp(sample, popmean=1.0)
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### 4. Numerical Methods
|
|
73
|
-
- Numerical integration (Gaussian quadrature, adaptive Simpson)
|
|
74
|
-
- Root finding (Newton-Raphson, secant, bracketing methods)
|
|
75
|
-
- ODE/PDE solvers (Runge-Kutta, implicit schemes, finite differences)
|
|
76
|
-
- Stability and convergence analysis, stiffness diagnostics
|
|
77
|
-
- Error bounds, conditioning, floating-point safeguards
|
|
78
|
-
|
|
79
|
-
```python
|
|
80
|
-
import numpy as np
|
|
81
|
-
from scipy.integrate import quad, solve_ivp
|
|
82
|
-
|
|
83
|
-
area, err = quad(lambda t: np.exp(-t**2), 0, np.inf)
|
|
84
|
-
|
|
85
|
-
def logistic(t, y, r=1.2, K=10.0):
|
|
86
|
-
return r * y * (1 - y / K)
|
|
87
|
-
|
|
88
|
-
solution = solve_ivp(logistic, (0, 20), [0.5], method="RK45", dense_output=True)
|
|
89
|
-
stability = np.max(np.abs(np.linalg.eigvals([[0., 1.], [-4., -1.5]])))
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### 5. Symbolic Computation
|
|
93
|
-
- Formal manipulations (simplification, expansion, factorization)
|
|
94
|
-
- Symbolic integration/differentiation and series expansions
|
|
95
|
-
- Proof assistants for identity verification and equivalence checking
|
|
96
|
-
- Symbolic linear algebra, polynomial resultants, Groebner bases
|
|
97
|
-
- Derivation tracing with justification for documentation and review
|
|
98
|
-
|
|
99
|
-
```python
|
|
100
|
-
import sympy as sp
|
|
101
|
-
|
|
102
|
-
t = sp.symbols('t', positive=True)
|
|
103
|
-
series = sp.series(sp.sin(t) / t, t, 0, 6)
|
|
104
|
-
identity = sp.simplify(sp.exp(sp.I * t) * sp.exp(-sp.I * t))
|
|
105
|
-
proof = sp.Eq(sp.diff(sp.log(sp.factorial(t)), t), sp.digamma(t + 1))
|
|
106
|
-
|
|
107
|
-
M = sp.Matrix([[1, 2], [3, 4]])
|
|
108
|
-
eigen_decomp = M.eigenvects()
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
### 6. Mathematical Verification Notebooks
|
|
112
|
-
- Structured Python notebooks using NumPy, SciPy, and SymPy for reproducible math experiments
|
|
113
|
-
- Cells organized by assumptions → derivations → numerical validation → sensitivity checks
|
|
114
|
-
- Parameterized widgets or YAML configs for scenario sweeps
|
|
115
|
-
- Automatic assertion blocks to verify algebraic vs. numeric equivalence
|
|
116
|
-
- Version-controlled notebooks (`.ipynb` or `.py` using Jupytext) with deterministic seeds
|
|
117
|
-
|
|
118
|
-
```python
|
|
119
|
-
# verification_notebook.py (Jupytext style)
|
|
120
|
-
import numpy as np
|
|
121
|
-
import sympy as sp
|
|
122
|
-
from scipy.optimize import minimize
|
|
123
|
-
|
|
124
|
-
np.random.seed(42)
|
|
125
|
-
w = sp.symbols('w')
|
|
126
|
-
symbolic_grad = sp.diff(sp.sin(w) + w**2, w)
|
|
127
|
-
|
|
128
|
-
def objective(val):
|
|
129
|
-
return np.sin(val) + val**2
|
|
130
|
-
|
|
131
|
-
res = minimize(objective, x0=[0.5])
|
|
132
|
-
assert abs(symbolic_grad.subs({w: res.x[0]}) - 0) < 1e-6
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
## Best Practices
|
|
136
|
-
1. **State Assumptions Explicitly**: Document domains, constraints, and approximation regimes before derivations.
|
|
137
|
-
2. **Cross-Validate**: Confirm symbolic results with numerical experiments (Monte Carlo, sampling, discretization).
|
|
138
|
-
3. **Track Units and Scaling**: Maintain dimensional consistency and rescale ill-conditioned problems.
|
|
139
|
-
4. **Monitor Conditioning**: Inspect condition numbers and step sizes to pre-empt numerical instability.
|
|
140
|
-
5. **Use Reproducible Seeds**: Fix random seeds and record solver tolerances for repeatability.
|
|
141
|
-
6. **Validate Constraints**: Ensure solution candidates satisfy KKT or feasibility conditions post-optimization.
|
|
142
|
-
|
|
143
|
-
## Common Workflows
|
|
144
|
-
- Analytical derivation with SymPy → numerical verification via SciPy → documentation in notebook with Markdown proof steps.
|
|
145
|
-
- Linear algebra pipelines converting symbolic expressions to callable NumPy functions for high-performance evaluation.
|
|
146
|
-
- Bayesian model evaluation combining closed-form posteriors with MCMC diagnostics when conjugacy fails.
|
|
147
|
-
- PDE prototyping using finite differences followed by spectral method comparison for convergence profiling.
|
|
148
|
-
|
|
149
|
-
## Anti-patterns to Avoid
|
|
150
|
-
1. ❌ Treating floating-point equality as exact; always compare with tolerance windows.
|
|
151
|
-
2. ❌ Ignoring solver diagnostics (residual norms, iteration counts, Jacobian approximations).
|
|
152
|
-
3. ❌ Skipping preconditioning for stiff or ill-conditioned linear systems.
|
|
153
|
-
4. ❌ Mixing symbolic and numeric domains without explicit casting, leading to type errors or performance hits.
|
|
154
|
-
5. ❌ Assuming convergence without verifying gradients/Hessians or constraint satisfaction.
|
|
155
|
-
|
|
156
|
-
## Tooling & References
|
|
157
|
-
- **Core Libraries**: NumPy, SciPy, SymPy, JAX, PyTorch (autograd), cvxpy
|
|
158
|
-
- **Notebooks**: JupyterLab, VS Code notebooks, Jupytext for `.py` parity
|
|
159
|
-
- **Visualization**: Matplotlib, Plotly, seaborn for residuals and convergence plots
|
|
160
|
-
- **Verification**: hypothesis for property-based testing, pytest for deterministic assertions
|
|
161
|
-
- **Resources**: Matrix Cookbook, Boyd & Vandenberghe’s Convex Optimization, Numerical Recipes, Probabilistic Machine Learning (Murphy)
|
|
162
|
-
|
|
163
|
-
## Quick Checklist
|
|
164
|
-
- [ ] Assumptions and variable domains documented
|
|
165
|
-
- [ ] Symbolic derivations simplified and verified numerically
|
|
166
|
-
- [ ] Conditioning and stability assessed with diagnostics
|
|
167
|
-
- [ ] Optimization routines include gradient/Hessian validation
|
|
168
|
-
- [ ] Probabilistic models report uncertainty (CI or posterior summaries)
|
|
169
|
-
- [ ] Notebooks or scripts captured in version control with reproducible seeds
|
|
170
|
-
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# Observability
|
|
2
|
-
|
|
3
|
-
Implement logging, metrics, and tracing to understand system behavior. Monitor health, troubleshoot issues, and optimize performance.
|
|
4
|
-
|
|
5
|
-
## Three Pillars
|
|
6
|
-
|
|
7
|
-
### 1. Logs
|
|
8
|
-
```javascript
|
|
9
|
-
// ✅ Good: Structured logging
|
|
10
|
-
logger.info('User login', {
|
|
11
|
-
user_id: user.id,
|
|
12
|
-
ip: req.ip,
|
|
13
|
-
timestamp: new Date().toISOString()
|
|
14
|
-
});
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
### 2. Metrics
|
|
18
|
-
```javascript
|
|
19
|
-
// ✅ Good: Application metrics (Prometheus)
|
|
20
|
-
const counter = new promClient.Counter({
|
|
21
|
-
name: 'http_requests_total',
|
|
22
|
-
help: 'Total HTTP requests',
|
|
23
|
-
labelNames: ['method', 'route', 'status']
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
app.use((req, res, next) => {
|
|
27
|
-
res.on('finish', () => {
|
|
28
|
-
counter.inc({ method: req.method, route: req.route, status: res.statusCode });
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
### 3. Traces
|
|
34
|
-
```javascript
|
|
35
|
-
// ✅ Good: Distributed tracing
|
|
36
|
-
const span = tracer.startSpan('get_user');
|
|
37
|
-
try {
|
|
38
|
-
const user = await db.getUser(id);
|
|
39
|
-
res.json(user);
|
|
40
|
-
} finally {
|
|
41
|
-
span.finish();
|
|
42
|
-
}
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Don'ts ❌
|
|
46
|
-
|
|
47
|
-
```javascript
|
|
48
|
-
// ❌ Bad: Log sensitive data
|
|
49
|
-
logger.info('Login', { username, password }); // Never!
|
|
50
|
-
|
|
51
|
-
// ❌ Bad: Unstructured logs
|
|
52
|
-
console.log('User ' + user.id + ' logged in');
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Best Practices
|
|
56
|
-
- Use log levels appropriately
|
|
57
|
-
- Implement correlation IDs for tracing
|
|
58
|
-
- Set up dashboards for key metrics
|
|
59
|
-
- Configure alerts with thresholds
|
|
60
|
-
- Use APM tools (Datadog, New Relic)
|
|
61
|
-
- Implement SLOs and error budgets
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# Orbital Mechanics
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Analyze orbital dynamics for spacecraft, including multi-body perturbations,
|
|
6
|
-
station-keeping strategies, and maneuver planning that respects mission
|
|
7
|
-
constraints, propellant budgets, and operational safety.
|
|
8
|
-
|
|
9
|
-
## Core Concepts & Best Practices
|
|
10
|
-
|
|
11
|
-
- **Two-Body Foundations**: Master Keplerian elements, conic sections, Lambert
|
|
12
|
-
targeting, and orbital perturbation theory.
|
|
13
|
-
- **Perturbation Modeling**: Incorporate J2 oblateness, atmospheric drag, solar
|
|
14
|
-
radiation pressure, and third-body effects in long-duration analyses.
|
|
15
|
-
- **Maneuver Planning**: Design Hohmann, bi-elliptic, low-thrust, and
|
|
16
|
-
plane-change maneuvers; evaluate trade-offs between time, delta-v, and risk.
|
|
17
|
-
- **Relative Motion**: Apply Clohessy-Wiltshire and Tschauner-Hempel equations
|
|
18
|
-
for rendezvous; integrate collision avoidance envelopes.
|
|
19
|
-
- **Station-Keeping**: Develop periodic correction strategies for GEO, LEO
|
|
20
|
-
constellations, and Lagrange point orbits while balancing propellant and
|
|
21
|
-
pointing needs.
|
|
22
|
-
|
|
23
|
-
## Tools & Methodologies
|
|
24
|
-
|
|
25
|
-
- **Numerical Propagators**: Use GMAT, Orekit, STK, Basilisk, or custom
|
|
26
|
-
Runge-Kutta integrators with event detection for shadow entry or exit.
|
|
27
|
-
- **Astrodynamics Libraries**: Leverage poliastro, NASA GMAT API, and JPL SPICE
|
|
28
|
-
kernels for ephemeris and frame transformations.
|
|
29
|
-
- **Optimization Routines**: Employ differential correction, sequential
|
|
30
|
-
quadratic programming, or heuristic search for multi-burn sequences.
|
|
31
|
-
- **Monte Carlo Analysis**: Simulate maneuver execution dispersions and
|
|
32
|
-
environmental uncertainties to bound state covariance growth.
|
|
33
|
-
- **Validation & Verification**: Cross-check analytical solutions with
|
|
34
|
-
high-fidelity propagators; maintain traceability of gravitational models and
|
|
35
|
-
reference frames.
|
|
36
|
-
|
|
37
|
-
## Example Scenario
|
|
38
|
-
|
|
39
|
-
A mission team plans a lunar orbit insertion. They run Lambert targeting from
|
|
40
|
-
translunar injection to perilune, account for Earth-Moon three-body
|
|
41
|
-
perturbations using GMAT, and apply sequential quadratic programming to
|
|
42
|
-
minimize delta-v while satisfying lighting constraints for optical navigation.
|
|
43
|
-
|
|
44
|
-
## Reference Resources
|
|
45
|
-
|
|
46
|
-
- Vallado, *Fundamentals of Astrodynamics and Applications*, Microcosm Press
|
|
47
|
-
- Curtis, *Orbital Mechanics for Engineering Students*, Butterworth-Heinemann
|
|
48
|
-
- NASA GMAT User Guide: <https://gmatcentral.org>
|
|
49
|
-
- Orekit Documentation: <https://www.orekit.org>
|
|
50
|
-
- JPL SPICE Toolkit: <https://naif.jpl.nasa.gov/naif/toolkit.html>
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
# Our Architecture Decisions - AutomatosX v5
|
|
2
|
-
|
|
3
|
-
> Key architectural decisions and rationale for AutomatosX
|
|
4
|
-
|
|
5
|
-
## ADR-001: SQLite FTS5 Over Milvus
|
|
6
|
-
|
|
7
|
-
**Decision:** Use SQLite with FTS5 full-text search instead of Milvus
|
|
8
|
-
|
|
9
|
-
**Rationale:**
|
|
10
|
-
|
|
11
|
-
- v3.1 used Milvus (340MB bundle, complex setup)
|
|
12
|
-
- SQLite FTS5 offers < 1ms search performance
|
|
13
|
-
- Simple setup, no external services
|
|
14
|
-
|
|
15
|
-
**Impact:**
|
|
16
|
-
|
|
17
|
-
- ✅ Bundle: 340MB → 381KB (99.9% reduction)
|
|
18
|
-
- ✅ Fast text search (45ms → <1ms, 45x faster)
|
|
19
|
-
- ✅ No embedding costs (removed vector search)
|
|
20
|
-
- ❌ Limited to single-node (acceptable for CLI tool)
|
|
21
|
-
|
|
22
|
-
## ADR-002: ESM Over CommonJS
|
|
23
|
-
|
|
24
|
-
**Decision:** Use ES Modules (ESM) for entire codebase
|
|
25
|
-
|
|
26
|
-
**Rationale:**
|
|
27
|
-
|
|
28
|
-
- Node.js 24+ has first-class ESM support
|
|
29
|
-
- Better tree-shaking and bundle optimization
|
|
30
|
-
- Modern standards compliance
|
|
31
|
-
|
|
32
|
-
**Impact:**
|
|
33
|
-
|
|
34
|
-
- ✅ Better tree-shaking (smaller bundle)
|
|
35
|
-
- ✅ Future-proof
|
|
36
|
-
- ⚠️ Requires `.js` in imports (minor inconvenience)
|
|
37
|
-
|
|
38
|
-
## ADR-003: TypeScript Strict Mode
|
|
39
|
-
|
|
40
|
-
**Decision:** Enable all strict TypeScript checks
|
|
41
|
-
|
|
42
|
-
**Configuration:**
|
|
43
|
-
|
|
44
|
-
```json
|
|
45
|
-
{
|
|
46
|
-
"strict": true,
|
|
47
|
-
"noUncheckedIndexedAccess": true,
|
|
48
|
-
"noImplicitOverride": true,
|
|
49
|
-
"noFallthroughCasesInSwitch": true
|
|
50
|
-
}
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
**Impact:**
|
|
54
|
-
|
|
55
|
-
- ✅ Fewer runtime errors
|
|
56
|
-
- ✅ Better IDE support
|
|
57
|
-
- ✅ Safer refactoring
|
|
58
|
-
- ⚠️ More initial development time (worth it)
|
|
59
|
-
|
|
60
|
-
## ADR-004: Three-Layer Security Model
|
|
61
|
-
|
|
62
|
-
**Decision:** Implement path validation, workspace access control, and input sanitization
|
|
63
|
-
|
|
64
|
-
**Layers:**
|
|
65
|
-
|
|
66
|
-
1. **Path Resolution:** All file access through PathResolver
|
|
67
|
-
2. **Workspace Access Control:** Shared workspaces with path validation
|
|
68
|
-
3. **Input Validation:** Sanitize all user inputs
|
|
69
|
-
|
|
70
|
-
**Impact:**
|
|
71
|
-
|
|
72
|
-
- ✅ Prevents path traversal attacks
|
|
73
|
-
- ✅ Controlled workspace access with validation
|
|
74
|
-
- ✅ No privilege escalation
|
|
75
|
-
- ⚠️ Slightly more complex file operations
|
|
76
|
-
|
|
77
|
-
## ADR-005: Profile + Abilities = Agent
|
|
78
|
-
|
|
79
|
-
**Decision:** Separate agent profile (YAML) from abilities (Markdown)
|
|
80
|
-
|
|
81
|
-
**Structure:**
|
|
82
|
-
|
|
83
|
-
- Profile: YAML with metadata, systemPrompt, abilities references
|
|
84
|
-
- Abilities: Markdown files with domain knowledge
|
|
85
|
-
- Agent = Profile + loaded Abilities
|
|
86
|
-
|
|
87
|
-
**Impact:**
|
|
88
|
-
|
|
89
|
-
- ✅ Reusable abilities across agents
|
|
90
|
-
- ✅ Easy to add new knowledge
|
|
91
|
-
- ✅ Clear separation of concerns
|
|
92
|
-
- ✅ User can customize both independently
|
|
93
|
-
|
|
94
|
-
## ADR-006: Team-Based Configuration
|
|
95
|
-
|
|
96
|
-
**Decision:** Agents inherit configuration from their team
|
|
97
|
-
|
|
98
|
-
**4 Built-in Teams:**
|
|
99
|
-
|
|
100
|
-
- **core:** Quality assurance (primary: claude)
|
|
101
|
-
- **engineering:** Software development (primary: codex)
|
|
102
|
-
- **business:** Product & planning (primary: gemini)
|
|
103
|
-
- **design:** Design & content (primary: gemini)
|
|
104
|
-
|
|
105
|
-
**Impact:**
|
|
106
|
-
|
|
107
|
-
- ✅ No configuration duplication
|
|
108
|
-
- ✅ Change provider for entire team at once
|
|
109
|
-
- ✅ Shared abilities automatically included
|
|
110
|
-
- ✅ Centralized orchestration settings
|
|
111
|
-
|
|
112
|
-
## ADR-007: Lazy Loading for Performance
|
|
113
|
-
|
|
114
|
-
**Decision:** Defer expensive imports until needed
|
|
115
|
-
|
|
116
|
-
**Implementation:**
|
|
117
|
-
|
|
118
|
-
- Heavy modules use dynamic import: `await import('module')`
|
|
119
|
-
- Core modules use static imports
|
|
120
|
-
- LazyLoader utility for caching
|
|
121
|
-
|
|
122
|
-
**Impact:**
|
|
123
|
-
|
|
124
|
-
- ✅ Faster CLI startup (~200ms)
|
|
125
|
-
- ✅ Smaller initial memory footprint
|
|
126
|
-
- ✅ Pay for what you use
|
|
127
|
-
|
|
128
|
-
## ADR-008: Vitest Over Jest
|
|
129
|
-
|
|
130
|
-
**Decision:** Use Vitest as testing framework
|
|
131
|
-
|
|
132
|
-
**Rationale:**
|
|
133
|
-
|
|
134
|
-
- Modern test runner with native ESM support
|
|
135
|
-
- Fast execution with watch mode
|
|
136
|
-
- Compatible with Vite ecosystem
|
|
137
|
-
|
|
138
|
-
**Impact:**
|
|
139
|
-
|
|
140
|
-
- ✅ Fast test execution (1,149 tests in ~10s)
|
|
141
|
-
- ✅ Native ESM support (no transform)
|
|
142
|
-
- ✅ Great developer experience
|
|
143
|
-
|
|
144
|
-
## ADR-009: TTL Cache for Profiles
|
|
145
|
-
|
|
146
|
-
**Decision:** Cache loaded profiles with 5-minute TTL
|
|
147
|
-
|
|
148
|
-
**Configuration:**
|
|
149
|
-
|
|
150
|
-
- TTLCache with 5-minute TTL
|
|
151
|
-
- Max 20 entries (LRU eviction)
|
|
152
|
-
- Cleanup every 60 seconds
|
|
153
|
-
|
|
154
|
-
**Impact:**
|
|
155
|
-
|
|
156
|
-
- ✅ Faster repeated executions
|
|
157
|
-
- ✅ Reduced file I/O
|
|
158
|
-
- ✅ Automatic cache invalidation
|
|
159
|
-
- ⚠️ 5-minute delay for profile updates (acceptable)
|
|
160
|
-
|
|
161
|
-
## ADR-010: Provider Router Pattern
|
|
162
|
-
|
|
163
|
-
**Decision:** Use Router to abstract provider selection
|
|
164
|
-
|
|
165
|
-
**Features:**
|
|
166
|
-
|
|
167
|
-
- Router manages provider selection
|
|
168
|
-
- Retry with exponential backoff
|
|
169
|
-
- Fallback to alternative providers
|
|
170
|
-
|
|
171
|
-
**Impact:**
|
|
172
|
-
|
|
173
|
-
- ✅ Provider flexibility
|
|
174
|
-
- ✅ Resilience to provider failures
|
|
175
|
-
- ✅ Easy to add new providers
|
|
176
|
-
|
|
177
|
-
---
|
|
178
|
-
|
|
179
|
-
**Last Updated:** 2025-10-10
|
|
180
|
-
**For:** AutomatosX v5.0+
|