@defai.digital/automatosx 12.8.7 → 13.1.3
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/README.md +48 -754
- 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/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,89 +0,0 @@
|
|
|
1
|
-
# Frontend Performance Optimization
|
|
2
|
-
|
|
3
|
-
Optimize React applications for speed and efficiency.
|
|
4
|
-
|
|
5
|
-
## Core Web Vitals
|
|
6
|
-
|
|
7
|
-
Target metrics:
|
|
8
|
-
- **LCP** (Largest Contentful Paint): < 2.5s
|
|
9
|
-
- **FID** (First Input Delay): < 100ms
|
|
10
|
-
- **CLS** (Cumulative Layout Shift): < 0.1
|
|
11
|
-
- **FCP** (First Contentful Paint): < 1.8s
|
|
12
|
-
- **TTI** (Time to Interactive): < 3.8s
|
|
13
|
-
|
|
14
|
-
## Optimization Strategies
|
|
15
|
-
|
|
16
|
-
### 1. Code Splitting
|
|
17
|
-
- Use React.lazy() for route-based splitting
|
|
18
|
-
- Split heavy components (charts, editors, modals)
|
|
19
|
-
- Use Suspense with meaningful fallbacks
|
|
20
|
-
- Analyze bundle with webpack-bundle-analyzer
|
|
21
|
-
|
|
22
|
-
### 2. Memoization
|
|
23
|
-
- useMemo() for expensive calculations
|
|
24
|
-
- useCallback() for callbacks passed to child components
|
|
25
|
-
- React.memo() for components that re-render with same props
|
|
26
|
-
- Don't over-memoize (profile first)
|
|
27
|
-
|
|
28
|
-
### 3. Virtualization
|
|
29
|
-
- Use react-window or react-virtualized for long lists (>100 items)
|
|
30
|
-
- Implement infinite scroll for large datasets
|
|
31
|
-
- Lazy load images in viewport
|
|
32
|
-
|
|
33
|
-
### 4. Asset Optimization
|
|
34
|
-
- Compress images (WebP format, use srcset)
|
|
35
|
-
- Lazy load images (loading="lazy")
|
|
36
|
-
- Use CDN for static assets
|
|
37
|
-
- Enable gzip/brotli compression
|
|
38
|
-
- Optimize fonts (font-display: swap, preload critical fonts)
|
|
39
|
-
|
|
40
|
-
### 5. Render Optimization
|
|
41
|
-
- Avoid inline function/object creation in render
|
|
42
|
-
- Use key prop correctly for lists
|
|
43
|
-
- Lift state up sparingly (keep state local when possible)
|
|
44
|
-
- Debounce/throttle expensive operations (search, scroll handlers)
|
|
45
|
-
- Use production build for deployment
|
|
46
|
-
|
|
47
|
-
### 6. Network Optimization
|
|
48
|
-
- Implement caching strategies (Cache-Control headers)
|
|
49
|
-
- Use service workers for offline support
|
|
50
|
-
- Prefetch critical resources
|
|
51
|
-
- Minimize API calls (batch requests)
|
|
52
|
-
- Use GraphQL field selection to fetch only needed data
|
|
53
|
-
|
|
54
|
-
### 7. Bundle Optimization
|
|
55
|
-
- Tree-shake unused code
|
|
56
|
-
- Use dynamic imports for conditional features
|
|
57
|
-
- Remove unused dependencies
|
|
58
|
-
- Use lighter alternatives (date-fns instead of moment)
|
|
59
|
-
- Configure webpack to split vendor bundles
|
|
60
|
-
|
|
61
|
-
## Performance Profiling
|
|
62
|
-
|
|
63
|
-
Tools and techniques:
|
|
64
|
-
- Chrome DevTools Performance tab
|
|
65
|
-
- React DevTools Profiler
|
|
66
|
-
- Lighthouse CI
|
|
67
|
-
- Web Vitals library
|
|
68
|
-
- Bundle analyzer
|
|
69
|
-
|
|
70
|
-
## Quick Checklist
|
|
71
|
-
|
|
72
|
-
Before deploying:
|
|
73
|
-
- [ ] Bundle size analyzed and optimized
|
|
74
|
-
- [ ] Images compressed and lazy loaded
|
|
75
|
-
- [ ] Long lists virtualized
|
|
76
|
-
- [ ] Expensive computations memoized
|
|
77
|
-
- [ ] Route-based code splitting implemented
|
|
78
|
-
- [ ] Core Web Vitals measured and acceptable
|
|
79
|
-
- [ ] Production build tested
|
|
80
|
-
- [ ] Caching strategy configured
|
|
81
|
-
|
|
82
|
-
## Application Hints
|
|
83
|
-
|
|
84
|
-
When optimizing performance:
|
|
85
|
-
- Measure before optimizing; profile to identify actual bottlenecks, not assumed ones
|
|
86
|
-
- Target Core Web Vitals thresholds (LCP < 2.5s, FID < 100ms, CLS < 0.1)
|
|
87
|
-
- Prefer code splitting and lazy loading over micro-optimizations
|
|
88
|
-
- Don't over-memoize; useMemo/useCallback have overhead and should be profiled
|
|
89
|
-
- Test performance with production builds; dev mode hides real performance issues
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# Problem-Solving Ability
|
|
2
|
-
|
|
3
|
-
Systematically approach and solve complex problems.
|
|
4
|
-
|
|
5
|
-
## Problem-Solving Framework
|
|
6
|
-
|
|
7
|
-
1. **Define** the problem
|
|
8
|
-
- State the problem clearly
|
|
9
|
-
- Identify root cause (5 Whys)
|
|
10
|
-
- Separate symptoms from causes
|
|
11
|
-
- Define constraints
|
|
12
|
-
|
|
13
|
-
2. **Analyze** the situation
|
|
14
|
-
- Gather relevant information
|
|
15
|
-
- Identify patterns
|
|
16
|
-
- Consider multiple perspectives
|
|
17
|
-
- List assumptions
|
|
18
|
-
|
|
19
|
-
3. **Generate** solutions
|
|
20
|
-
- Brainstorm alternatives
|
|
21
|
-
- Don't judge initially (divergent thinking)
|
|
22
|
-
- Consider unconventional approaches
|
|
23
|
-
- Document all ideas
|
|
24
|
-
|
|
25
|
-
4. **Evaluate** options
|
|
26
|
-
- List pros and cons
|
|
27
|
-
- Consider trade-offs
|
|
28
|
-
- Assess feasibility
|
|
29
|
-
- Estimate impact
|
|
30
|
-
|
|
31
|
-
5. **Implement** solution
|
|
32
|
-
- Create action plan
|
|
33
|
-
- Start with small experiments
|
|
34
|
-
- Monitor progress
|
|
35
|
-
- Adjust as needed
|
|
36
|
-
|
|
37
|
-
6. **Review** and learn
|
|
38
|
-
- Did it solve the problem?
|
|
39
|
-
- What worked well?
|
|
40
|
-
- What could be improved?
|
|
41
|
-
- Document lessons learned
|
|
42
|
-
|
|
43
|
-
## Techniques
|
|
44
|
-
|
|
45
|
-
- **5 Whys**: Dig deeper by asking "why" repeatedly
|
|
46
|
-
- **First Principles**: Break down to fundamental truths
|
|
47
|
-
- **Rubber Duck Debugging**: Explain problem out loud
|
|
48
|
-
- **Divide and Conquer**: Break into smaller sub-problems
|
|
49
|
-
- **Work Backwards**: Start from desired outcome
|
|
50
|
-
- **Analogies**: Apply solutions from similar domains
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# Propulsion Systems
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Engineer and evaluate spacecraft propulsion systems, encompassing chemical and
|
|
6
|
-
electric propulsion performance envelopes, reliability modeling, and
|
|
7
|
-
integration with vehicle architecture and mission requirements.
|
|
8
|
-
|
|
9
|
-
## Core Concepts & Best Practices
|
|
10
|
-
|
|
11
|
-
- **Propulsion Taxonomy**: Compare bipropellant, monopropellant, solid,
|
|
12
|
-
hybrid, electric (Hall, ion, MPD), and advanced concepts (nuclear thermal,
|
|
13
|
-
solar sail).
|
|
14
|
-
- **Performance Metrics**: Calculate specific impulse, thrust-to-weight, mass
|
|
15
|
-
flow, and efficiency; assess throttling capability and response time.
|
|
16
|
-
- **System Integration**: Design feed systems (pressurization, valves,
|
|
17
|
-
regulators), thermal management, and structural interfaces with redundancy.
|
|
18
|
-
- **Reliability Modeling**: Apply fault tree analysis, Weibull statistics, and
|
|
19
|
-
Bayesian updating to predict MTBF and mission success probabilities.
|
|
20
|
-
- **Contamination & Plume Effects**: Model plume impingement, erosion, and
|
|
21
|
-
electromagnetic interference on spacecraft subsystems.
|
|
22
|
-
|
|
23
|
-
## Tools & Methodologies
|
|
24
|
-
|
|
25
|
-
- **Analysis Suites**: Use NASA CEA, RPA, or in-house CFD tools for combustion
|
|
26
|
-
and nozzle performance prediction.
|
|
27
|
-
- **Electric Propulsion Modeling**: Employ Hall thruster simulators, ion optics
|
|
28
|
-
codes, and particle-in-cell (PIC) methods to analyze plasma behavior.
|
|
29
|
-
- **System Sizing**: Develop Excel, Modelica, or Amesim models for propellant
|
|
30
|
-
budget, tank sizing, and pressurization cycles.
|
|
31
|
-
- **Test Campaign Planning**: Define hot-fire, vibration, thermal vacuum, and
|
|
32
|
-
life tests; collect telemetry for model correlation.
|
|
33
|
-
- **Verification & Validation**: Execute acceptance test procedures (ATP) and
|
|
34
|
-
qualification plans while enforcing strict configuration control.
|
|
35
|
-
|
|
36
|
-
## Example Scenario
|
|
37
|
-
|
|
38
|
-
A GEO comsat program selects a hybrid propulsion architecture: chemical
|
|
39
|
-
thrusters for orbit raising and Hall-effect thrusters for station-keeping.
|
|
40
|
-
Engineers use NASA CEA to size bipropellant engines, run PIC simulations to
|
|
41
|
-
verify Hall thruster plume interactions, and apply reliability block diagrams
|
|
42
|
-
to ensure mission lifetime exceeds 15 years with 0.98 probability.
|
|
43
|
-
|
|
44
|
-
## Reference Resources
|
|
45
|
-
|
|
46
|
-
- Sutton & Biblarz, *Rocket Propulsion Elements*, Wiley
|
|
47
|
-
- Humble, Henry & Larson, *Space Propulsion Analysis and Design*, McGraw-Hill
|
|
48
|
-
- Goebel & Katz, *Fundamentals of Electric Propulsion*, JPL/NASA
|
|
49
|
-
- NASA Chemical Equilibrium with Applications (CEA): <https://cearun.grc.nasa.gov>
|
|
50
|
-
- AIAA Propulsion and Energy Forum Proceedings
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
# Quantum Algorithm Design
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Architect and tailor quantum algorithms such as QAOA, VQE, phase estimation,
|
|
6
|
-
Grover, and Shor to solve optimization, simulation, and search problems while
|
|
7
|
-
balancing gate depth, noise resilience, and classical-quantum workflow
|
|
8
|
-
integration.
|
|
9
|
-
|
|
10
|
-
## Core Concepts & Best Practices
|
|
11
|
-
|
|
12
|
-
- **Problem Mapping**: Encode cost Hamiltonians or oracle functions that capture
|
|
13
|
-
the classical objective while minimizing qubit requirements.
|
|
14
|
-
- **Ansatz Engineering**: Choose hardware-efficient or problem-inspired
|
|
15
|
-
ansätze; analyze expressibility versus trainability to avoid barren plateaus.
|
|
16
|
-
- **Hybrid Loops**: Couple classical optimizers (e.g., SPSA, COBYLA, Adam) with
|
|
17
|
-
quantum evaluations; reuse measurement data with parameter-shift gradients
|
|
18
|
-
where available.
|
|
19
|
-
- **Resource Estimation**: Quantify logical depth, T-count, and qubit footprint
|
|
20
|
-
prior to execution; evaluate circuit cut options for limited hardware.
|
|
21
|
-
- **Error Mitigation**: Integrate zero-noise extrapolation, symmetry
|
|
22
|
-
verification, and probabilistic error cancellation early in algorithm design.
|
|
23
|
-
|
|
24
|
-
## Tools & Methodologies
|
|
25
|
-
|
|
26
|
-
- **Algorithm Templates**: Start from QAOA/VQE scaffolds and customize mixers,
|
|
27
|
-
cost layers, and measurement strategies.
|
|
28
|
-
- **Classical Preprocessing**: Leverage problem reductions, graph
|
|
29
|
-
sparsification, or symmetry analysis to shrink the search space.
|
|
30
|
-
- **Parameter Initialization**: Apply warm-start heuristics (e.g., classical
|
|
31
|
-
solutions, layer-wise training) to accelerate convergence.
|
|
32
|
-
- **Performance Benchmarking**: Run simulators with realistic noise models and
|
|
33
|
-
track expected energy, fidelity, or success probability across layer depths.
|
|
34
|
-
- **Result Verification**: Validate solutions against classical solvers (exact
|
|
35
|
-
or approximate) and quantify quantum advantage via scaling studies.
|
|
36
|
-
|
|
37
|
-
## Example Scenario
|
|
38
|
-
|
|
39
|
-
A logistics team models vehicle routing as a constrained optimization problem.
|
|
40
|
-
By formulating the cost Hamiltonian for QAOA, selecting a tailored mixer that
|
|
41
|
-
respects route feasibility, and combining SPSA with layer-wise parameter
|
|
42
|
-
growth, they achieve improved approximation ratios on a noisy
|
|
43
|
-
intermediate-scale quantum (NISQ) device relative to classical heuristics.
|
|
44
|
-
|
|
45
|
-
## Reference Resources
|
|
46
|
-
|
|
47
|
-
- Farhi et al., “A Quantum Approximate Optimization Algorithm,” arXiv:1411.4028
|
|
48
|
-
- Peruzzo et al., “A Variational Eigenvalue Solver on a Photonic Quantum
|
|
49
|
-
Processor,” *Nature Communications* (2014)
|
|
50
|
-
- Schuld & Killoran, “Quantum Machine Learning in Feature Hilbert Spaces,”
|
|
51
|
-
*PRL* (2019)
|
|
52
|
-
- Nielsen & Chuang, *Quantum Computation and Quantum Information*, Cambridge
|
|
53
|
-
University Press
|
|
54
|
-
- Qiskit Textbook: <https://qiskit.org/textbook>
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# Quantum Error Correction
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Design and analyze quantum error-correcting codes, including surface codes and
|
|
6
|
-
fault-tolerant logical operations, while applying error mitigation techniques
|
|
7
|
-
to bridge current hardware limitations.
|
|
8
|
-
|
|
9
|
-
## Core Concepts & Best Practices
|
|
10
|
-
|
|
11
|
-
- **Code Families**: Evaluate stabilizer, surface, color, and LDPC codes; match
|
|
12
|
-
code distance and threshold to hardware constraints.
|
|
13
|
-
- **Fault Tolerance**: Implement transversal gates, lattice surgery, and magic
|
|
14
|
-
state distillation while tracking logical error budgets.
|
|
15
|
-
- **Syndrome Extraction**: Optimize measurement circuits to minimize hook
|
|
16
|
-
errors and leakage; schedule parallelism carefully.
|
|
17
|
-
- **Decoding Strategies**: Apply minimum-weight perfect matching, belief
|
|
18
|
-
propagation, or neural decoders; benchmark latency versus accuracy.
|
|
19
|
-
- **Error Mitigation**: Combine post-selection, probabilistic error
|
|
20
|
-
cancellation, and Clifford data regression with error correction for
|
|
21
|
-
near-term devices.
|
|
22
|
-
|
|
23
|
-
## Tools & Methodologies
|
|
24
|
-
|
|
25
|
-
- **Simulation Frameworks**: Use Qiskit Ignis, QEC frameworks, Stim, or LDPC
|
|
26
|
-
simulation libraries to evaluate logical error rates.
|
|
27
|
-
- **Decoder Implementations**: Integrate PyMatching, tensor network decoders,
|
|
28
|
-
or custom FPGA-based solutions for real-time performance.
|
|
29
|
-
- **Threshold Analysis**: Perform Monte Carlo sampling over noise channels
|
|
30
|
-
(Pauli, amplitude damping, biased dephasing) to estimate thresholds.
|
|
31
|
-
- **Logical Circuit Compilation**: Map high-level algorithms onto logical
|
|
32
|
-
qubits, schedule patch moves, and analyze lattice surgery costs.
|
|
33
|
-
- **Cross-Layer Co-Design**: Coordinate hardware calibration teams with QEC
|
|
34
|
-
architects to ensure stabilizer measurements align with physical gate
|
|
35
|
-
capabilities.
|
|
36
|
-
|
|
37
|
-
## Example Scenario
|
|
38
|
-
|
|
39
|
-
A quantum computing platform targets a 10⁻³ logical error rate. Engineers
|
|
40
|
-
select rotated surface codes with distance nine, implement syndrome extraction
|
|
41
|
-
sequences with tailored CNOT ordering, and deploy PyMatching for decoding.
|
|
42
|
-
Post-implementation Monte Carlo runs confirm the logical failure rate meets
|
|
43
|
-
the reliability target under measured device noise.
|
|
44
|
-
|
|
45
|
-
## Reference Resources
|
|
46
|
-
|
|
47
|
-
- Fowler et al., “Surface Codes: Towards Practical Large-Scale Quantum
|
|
48
|
-
Computation,” *PR A* (2012)
|
|
49
|
-
- Dennis et al., “Topological Quantum Memory,” *Journal of Mathematical
|
|
50
|
-
Physics* (2002)
|
|
51
|
-
- Gottesman, “An Introduction to Quantum Error Correction and Fault-Tolerant
|
|
52
|
-
Quantum Computation,” arXiv:0904.2557
|
|
53
|
-
- Stim: <https://github.com/quantumlib/Stim>
|
|
54
|
-
- PyMatching: <https://github.com/Quantum-Computing-UK/pymatching>
|
|
55
|
-
- Terhal, “Quantum Error Correction for Quantum Memories,” *Reviews of Modern
|
|
56
|
-
Physics* (2015)
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# Quantum Frameworks & Transpilation
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Leverage Qiskit, Cirq, and related toolchains to build quantum circuits,
|
|
6
|
-
perform transpilation and optimization passes, and tailor executions to
|
|
7
|
-
specific backend topologies and calibration data for maximal performance.
|
|
8
|
-
|
|
9
|
-
## Core Concepts & Best Practices
|
|
10
|
-
|
|
11
|
-
- **Circuit Abstraction**: Separate algorithm logic from backend configuration
|
|
12
|
-
using parameterized circuits and modular subroutines.
|
|
13
|
-
- **Compilation Stages**: Understand high-level synthesis, basis translation,
|
|
14
|
-
layout selection, and scheduling; tune each stage for depth and fidelity.
|
|
15
|
-
- **Hardware Awareness**: Align qubit allocation with device coupling maps and
|
|
16
|
-
apply gate direction corrections plus SWAP insertion strategies judiciously.
|
|
17
|
-
- **Optimization Heuristics**: Employ gate cancellation, commutation analysis,
|
|
18
|
-
and resynthesis passes; iterate on pass managers to hit depth or width
|
|
19
|
-
targets.
|
|
20
|
-
- **Calibration Integration**: Consume backend calibration data (gate errors,
|
|
21
|
-
T1/T2, readout errors) to inform transpiler cost models and pulse-level
|
|
22
|
-
adjustments.
|
|
23
|
-
|
|
24
|
-
## Tools & Methodologies
|
|
25
|
-
|
|
26
|
-
- **Qiskit Workflow**: Use `QuantumCircuit`, `transpile`, and `PassManager`
|
|
27
|
-
with custom passes; export to QASM or pulse schedules when required.
|
|
28
|
-
- **Cirq Workflow**: Build `Circuit` objects with PhasedFSim gates, optimize
|
|
29
|
-
via `cirq.optimize_for_target_gateset`, and serialize using `cirq.to_json`.
|
|
30
|
-
- **Cross-Framework Interop**: Convert circuits via `qasm3` or `tket` bridges
|
|
31
|
-
for comparative benchmarking.
|
|
32
|
-
- **Pulse-Level Control**: Employ Qiskit Pulse or Cirq’s `pulses` module for
|
|
33
|
-
custom calibrations and dynamical decoupling sequences.
|
|
34
|
-
- **Automation Pipelines**: Script transpilation sweeps across optimization
|
|
35
|
-
levels, collect performance metrics, and store build artifacts for
|
|
36
|
-
reproducibility.
|
|
37
|
-
|
|
38
|
-
## Example Scenario
|
|
39
|
-
|
|
40
|
-
An R&D team migrates a chemistry VQE circuit to new superconducting hardware.
|
|
41
|
-
They create a custom Qiskit `PassManager` that performs layout selection via
|
|
42
|
-
SABRE, enables commutation-aware gate cancellations, and inserts echoed
|
|
43
|
-
cross-resonance calibrations, cutting circuit depth by 27% while preserving
|
|
44
|
-
expected energy accuracy.
|
|
45
|
-
|
|
46
|
-
## Reference Resources
|
|
47
|
-
|
|
48
|
-
- Qiskit Documentation: <https://qiskit.org/documentation>
|
|
49
|
-
- Cirq Documentation: <https://quantumai.google/cirq>
|
|
50
|
-
- Murali et al., “Noise-Adaptive Compiler Mappings for Noisy
|
|
51
|
-
Intermediate-Scale Quantum Computers,” *ASPLOS* (2019)
|
|
52
|
-
- Cowtan et al., “On the Qubit Routing Problem,” *ACM TECS* (2020)
|
|
53
|
-
- TKET Compiler: <https://cqcl.github.io/tket/pytket/api>
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# Quantum Noise Modeling
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Model and mitigate noise in quantum systems by characterizing decoherence
|
|
6
|
-
channels, gate error rates, and calibration drift to improve reliability of
|
|
7
|
-
algorithm execution on NISQ and emerging fault-tolerant hardware.
|
|
8
|
-
|
|
9
|
-
## Core Concepts & Best Practices
|
|
10
|
-
|
|
11
|
-
- **Noise Channels**: Represent errors via Kraus operators (depolarizing,
|
|
12
|
-
amplitude damping, phase damping) or Lindblad master equations for
|
|
13
|
-
continuous-time modeling.
|
|
14
|
-
- **Decoherence Metrics**: Track T1/T2 times, Ramsey fringes, and spin-echo
|
|
15
|
-
results; monitor temperature and flux bias stability.
|
|
16
|
-
- **Gate Characterization**: Use randomized benchmarking, interleaved RB, gate
|
|
17
|
-
set tomography, and cycle benchmarking to quantify fidelity.
|
|
18
|
-
- **Readout Analysis**: Build confusion matrices, apply measurement error
|
|
19
|
-
mitigation, and detect drift through auto-calibration routines.
|
|
20
|
-
- **Calibration Strategies**: Schedule frequent recalibrations, employ
|
|
21
|
-
closed-loop optimization, and maintain calibration history with anomaly
|
|
22
|
-
alerts.
|
|
23
|
-
|
|
24
|
-
## Tools & Methodologies
|
|
25
|
-
|
|
26
|
-
- **Simulation Platforms**: Employ Qiskit Aer noise models, Cirq’s
|
|
27
|
-
`NoiseModel`, or QuTiP for density-matrix simulations.
|
|
28
|
-
- **Characterization Pipelines**: Automate RB experiments, fit exponential
|
|
29
|
-
decay to extract error per Clifford, and store metadata in configuration
|
|
30
|
-
databases.
|
|
31
|
-
- **Drift Detection**: Apply statistical process control (SPC) on calibration
|
|
32
|
-
metrics; trigger recalibration when control charts exceed thresholds.
|
|
33
|
-
- **Noise-Aware Scheduling**: Route circuits through lower-error qubits, adjust
|
|
34
|
-
scheduling to avoid crosstalk hotspots, and insert dynamical decoupling
|
|
35
|
-
pulses.
|
|
36
|
-
- **Mitigation Techniques**: Combine zero-noise extrapolation, probabilistic
|
|
37
|
-
error cancellation, and measurement mitigation with robust statistical
|
|
38
|
-
post-processing.
|
|
39
|
-
|
|
40
|
-
## Example Scenario
|
|
41
|
-
|
|
42
|
-
An operations team observes declining algorithm fidelity on a trapped-ion
|
|
43
|
-
device. They run interleaved RB to isolate a two-qubit gate with rising error,
|
|
44
|
-
update the Qiskit Aer noise model with new Kraus parameters, and deploy
|
|
45
|
-
adaptive recalibration routines that restore average gate fidelity above
|
|
46
|
-
99.5%, improving VQE energy convergence.
|
|
47
|
-
|
|
48
|
-
## Reference Resources
|
|
49
|
-
|
|
50
|
-
- Wallman & Emerson, “Noise Tailoring for Scalable Quantum Computation via
|
|
51
|
-
Randomized Compiling,” *PRL* (2016)
|
|
52
|
-
- Kjaergaard et al., “Superconducting Qubits: Current State of Play,” *Annual
|
|
53
|
-
Review of Condensed Matter Physics* (2020)
|
|
54
|
-
- Magesan et al., “Scalable and Robust Randomized Benchmarking of Quantum
|
|
55
|
-
Processes,” *PRL* (2011)
|
|
56
|
-
- QuTiP Documentation: <https://qutip.org>
|
|
57
|
-
- Kandala et al., “Error Mitigation Extends the Computational Reach of a Noisy
|
|
58
|
-
Quantum Processor,” *Nature* (2019)
|
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
# Refactoring Ability
|
|
2
|
-
|
|
3
|
-
Expert knowledge of code smells, refactoring techniques, and strategies for improving code quality without changing behavior.
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
Refactoring is the process of restructuring existing code without changing its external behavior. The goal is to improve code quality, readability, and maintainability.
|
|
8
|
-
|
|
9
|
-
## Code Smells
|
|
10
|
-
|
|
11
|
-
Code smells are indicators that something might be wrong with your code structure.
|
|
12
|
-
|
|
13
|
-
### Bloaters
|
|
14
|
-
|
|
15
|
-
**Long Method**
|
|
16
|
-
- **Smell**: Method with too many lines
|
|
17
|
-
- **Impact**: Hard to understand, test, and maintain
|
|
18
|
-
- **Refactoring**: Extract Method, Replace Temp with Query, Decompose Conditional
|
|
19
|
-
|
|
20
|
-
```typescript
|
|
21
|
-
// ❌ BAD: Long method
|
|
22
|
-
function processOrder(order: Order) {
|
|
23
|
-
// Validate order
|
|
24
|
-
if (!order.id) throw new Error('Invalid order');
|
|
25
|
-
if (order.items.length === 0) throw new Error('Empty order');
|
|
26
|
-
for (const item of order.items) {
|
|
27
|
-
if (item.quantity <= 0) throw new Error('Invalid quantity');
|
|
28
|
-
if (!item.price) throw new Error('Missing price');
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// Calculate total
|
|
32
|
-
let subtotal = 0;
|
|
33
|
-
for (const item of order.items) {
|
|
34
|
-
subtotal += item.price * item.quantity;
|
|
35
|
-
}
|
|
36
|
-
const tax = subtotal * 0.1;
|
|
37
|
-
const shipping = subtotal > 100 ? 0 : 10;
|
|
38
|
-
const total = subtotal + tax + shipping;
|
|
39
|
-
|
|
40
|
-
// Apply discounts
|
|
41
|
-
let discount = 0;
|
|
42
|
-
if (order.customer.isPremium) {
|
|
43
|
-
discount = total * 0.15;
|
|
44
|
-
} else if (total > 200) {
|
|
45
|
-
discount = total * 0.1;
|
|
46
|
-
} else if (total > 100) {
|
|
47
|
-
discount = total * 0.05;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// Save order
|
|
51
|
-
// ... 50 more lines
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// ✅ GOOD: Extracted methods
|
|
55
|
-
function processOrder(order: Order) {
|
|
56
|
-
validateOrder(order);
|
|
57
|
-
const total = calculateTotal(order);
|
|
58
|
-
const discounted = applyDiscounts(total, order.customer);
|
|
59
|
-
return saveOrder(order, discounted);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function validateOrder(order: Order) {
|
|
63
|
-
if (!order.id) throw new Error('Invalid order');
|
|
64
|
-
if (order.items.length === 0) throw new Error('Empty order');
|
|
65
|
-
order.items.forEach(validateOrderItem);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
function calculateTotal(order: Order): number {
|
|
69
|
-
const subtotal = calculateSubtotal(order.items);
|
|
70
|
-
const tax = calculateTax(subtotal);
|
|
71
|
-
const shipping = calculateShipping(subtotal);
|
|
72
|
-
return subtotal + tax + shipping;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
function applyDiscounts(total: number, customer: Customer): number {
|
|
76
|
-
const discountRate = getDiscountRate(total, customer);
|
|
77
|
-
return total * (1 - discountRate);
|
|
78
|
-
}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
**Large Class**
|
|
82
|
-
- **Smell**: Class with too many fields, methods, or responsibilities
|
|
83
|
-
- **Impact**: Violates Single Responsibility Principle
|
|
84
|
-
- **Refactoring**: Extract Class, Extract Subclass
|
|
85
|
-
|
|
86
|
-
**Long Parameter List**
|
|
87
|
-
- **Smell**: Function with many parameters
|
|
88
|
-
- **Impact**: Hard to use, understand, and change
|
|
89
|
-
- **Refactoring**: Introduce Parameter Object, Preserve Whole Object
|
|
90
|
-
|
|
91
|
-
**Primitive Obsession**
|
|
92
|
-
- **Smell**: Using primitives instead of small objects
|
|
93
|
-
- **Impact**: Loss of type safety and domain meaning
|
|
94
|
-
- **Refactoring**: Replace Data Value with Object, Introduce Value Object
|
|
95
|
-
|
|
96
|
-
### Object-Orientation Abusers
|
|
97
|
-
|
|
98
|
-
**Switch Statements**
|
|
99
|
-
- **Smell**: Type-based conditionals instead of polymorphism
|
|
100
|
-
- **Impact**: Violates Open/Closed Principle, hard to extend
|
|
101
|
-
- **Refactoring**: Replace Conditional with Polymorphism
|
|
102
|
-
|
|
103
|
-
**Refused Bequest**
|
|
104
|
-
- **Smell**: Subclass doesn't use inherited methods
|
|
105
|
-
- **Impact**: Violates Liskov Substitution Principle
|
|
106
|
-
- **Refactoring**: Replace Inheritance with Delegation, Push Down Method
|
|
107
|
-
|
|
108
|
-
### Change Preventers
|
|
109
|
-
|
|
110
|
-
**Divergent Change**
|
|
111
|
-
- **Smell**: One class changed for many different reasons
|
|
112
|
-
- **Impact**: Violates Single Responsibility Principle
|
|
113
|
-
- **Refactoring**: Extract Class
|
|
114
|
-
|
|
115
|
-
**Shotgun Surgery**
|
|
116
|
-
- **Smell**: Every change requires many small changes in many classes
|
|
117
|
-
- **Impact**: Hard to make changes, easy to miss updates
|
|
118
|
-
- **Refactoring**: Move Method, Move Field, Inline Class
|
|
119
|
-
|
|
120
|
-
### Dispensables
|
|
121
|
-
|
|
122
|
-
**Duplicate Code**
|
|
123
|
-
- **Smell**: Same code structure in multiple places
|
|
124
|
-
- **Impact**: Maintenance nightmare, bugs replicate
|
|
125
|
-
- **Refactoring**: Extract Method, Extract Class, Pull Up Method
|
|
126
|
-
|
|
127
|
-
**Dead Code**
|
|
128
|
-
- **Smell**: Unused variables, parameters, methods, classes
|
|
129
|
-
- **Impact**: Confusion, maintenance burden
|
|
130
|
-
- **Refactoring**: Delete it
|
|
131
|
-
|
|
132
|
-
**Speculative Generality**
|
|
133
|
-
- **Smell**: "We might need this someday" code
|
|
134
|
-
- **Impact**: Unnecessary complexity
|
|
135
|
-
- **Refactoring**: Collapse Hierarchy, Inline Class, Remove Parameter
|
|
136
|
-
|
|
137
|
-
## Refactoring Techniques
|
|
138
|
-
|
|
139
|
-
### Extract Method
|
|
140
|
-
|
|
141
|
-
**When**: Code fragment can be grouped together
|
|
142
|
-
**Benefit**: Improves clarity, reusability
|
|
143
|
-
|
|
144
|
-
### Inline Method
|
|
145
|
-
|
|
146
|
-
**When**: Method body is as clear as the name
|
|
147
|
-
**Benefit**: Reduces unnecessary indirection
|
|
148
|
-
|
|
149
|
-
### Extract Variable
|
|
150
|
-
|
|
151
|
-
**When**: Complex expression that's hard to understand
|
|
152
|
-
**Benefit**: Makes expression clearer
|
|
153
|
-
|
|
154
|
-
### Rename Variable/Method/Class
|
|
155
|
-
|
|
156
|
-
**When**: Name doesn't reveal intent
|
|
157
|
-
**Benefit**: Improves readability
|
|
158
|
-
|
|
159
|
-
### Move Method/Field
|
|
160
|
-
|
|
161
|
-
**When**: Method/field used more by another class
|
|
162
|
-
**Benefit**: Reduces coupling, improves cohesion
|
|
163
|
-
|
|
164
|
-
### Extract Class
|
|
165
|
-
|
|
166
|
-
**When**: Class has responsibilities for multiple concerns
|
|
167
|
-
**Benefit**: Follows Single Responsibility Principle
|
|
168
|
-
|
|
169
|
-
### Replace Conditional with Polymorphism
|
|
170
|
-
|
|
171
|
-
**When**: Type-based conditionals
|
|
172
|
-
**Benefit**: Follows Open/Closed Principle
|
|
173
|
-
|
|
174
|
-
## Refactoring Strategies
|
|
175
|
-
|
|
176
|
-
### 1. The Refactoring Workflow
|
|
177
|
-
|
|
178
|
-
**Red-Green-Refactor (TDD)**:
|
|
179
|
-
1. **Red**: Write failing test
|
|
180
|
-
2. **Green**: Make test pass (quick and dirty)
|
|
181
|
-
3. **Refactor**: Improve code while keeping tests green
|
|
182
|
-
|
|
183
|
-
**Safe Refactoring**:
|
|
184
|
-
1. Ensure tests exist and pass
|
|
185
|
-
2. Make small, incremental changes
|
|
186
|
-
3. Run tests after each change
|
|
187
|
-
4. Commit frequently
|
|
188
|
-
5. Use automated refactoring tools when possible
|
|
189
|
-
|
|
190
|
-
### 2. When to Refactor
|
|
191
|
-
|
|
192
|
-
**Rule of Three**:
|
|
193
|
-
- First time: Just do it
|
|
194
|
-
- Second time: Wince but do it anyway
|
|
195
|
-
- Third time: Refactor
|
|
196
|
-
|
|
197
|
-
**Opportunistic Refactoring**:
|
|
198
|
-
- While adding features
|
|
199
|
-
- While fixing bugs
|
|
200
|
-
- During code review
|
|
201
|
-
- When understanding code
|
|
202
|
-
|
|
203
|
-
### 3. When NOT to Refactor
|
|
204
|
-
|
|
205
|
-
- Code is about to be deleted
|
|
206
|
-
- Rewriting is easier than refactoring
|
|
207
|
-
- Close to a deadline (defer to later)
|
|
208
|
-
- Code works and doesn't need changes
|
|
209
|
-
|
|
210
|
-
## Best Practices
|
|
211
|
-
|
|
212
|
-
1. **Test Coverage First**: Ensure tests exist before refactoring
|
|
213
|
-
2. **Small Steps**: Make one change at a time
|
|
214
|
-
3. **Commit Often**: Save working states frequently
|
|
215
|
-
4. **Use Tools**: Leverage IDE and automated refactoring
|
|
216
|
-
5. **Review Changes**: Have someone review your refactoring
|
|
217
|
-
6. **Document Why**: Explain major refactorings in commit messages
|
|
218
|
-
|
|
219
|
-
## Further Reading
|
|
220
|
-
|
|
221
|
-
- "Refactoring" by Martin Fowler
|
|
222
|
-
- "Working Effectively with Legacy Code" by Michael Feathers
|
|
223
|
-
- "Your Code as a Crime Scene" by Adam Tornhill
|