hummbl-bibliography 1.0.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.
Files changed (95) hide show
  1. package/.cascade/rules/hummbl-base120.md +107 -0
  2. package/.github/CODEOWNERS +17 -0
  3. package/.github/ISSUE_TEMPLATE/bug_report.md +24 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.md +10 -0
  5. package/.github/ISSUE_TEMPLATE/new-entry.md +79 -0
  6. package/.github/ISSUE_TEMPLATE/quality-improvement.md +71 -0
  7. package/.github/PULL_REQUEST_TEMPLATE.md +15 -0
  8. package/.github/dependabot.yml +17 -0
  9. package/.github/workflows/ci.yml +98 -0
  10. package/.github/workflows/doi-enrichment.yml +77 -0
  11. package/.github/workflows/security-audit.yml +92 -0
  12. package/.github/workflows/stats-report.yml +59 -0
  13. package/.github/workflows/validate-models.yml +194 -0
  14. package/.github/workflows/validate.yml +152 -0
  15. package/.husky/pre-commit +15 -0
  16. package/.husky/validation-rules.json +11 -0
  17. package/CHANGELOG.md +228 -0
  18. package/CONTRIBUTING.md +110 -0
  19. package/CONTRIBUTORS.md +257 -0
  20. package/DEVELOPMENT.md +110 -0
  21. package/Day_1_Audit_Worksheet.md +64 -0
  22. package/LICENSE +21 -0
  23. package/README.md +213 -0
  24. package/SECURITY.md +16 -0
  25. package/SITREP.md +141 -0
  26. package/bibliography/T10_collaboration.bib +281 -0
  27. package/bibliography/T11_security.bib +311 -0
  28. package/bibliography/T12_complexity.bib +272 -0
  29. package/bibliography/T13_reasoning.bib +231 -0
  30. package/bibliography/T1_canonical.bib +236 -0
  31. package/bibliography/T2_empirical.bib +258 -0
  32. package/bibliography/T3_applied.bib +219 -0
  33. package/bibliography/T4_agentic.bib +281 -0
  34. package/bibliography/T5_engineering.bib +243 -0
  35. package/bibliography/T6_governance.bib +277 -0
  36. package/bibliography/T7_emerging.bib +228 -0
  37. package/bibliography/T8_cognition.bib +260 -0
  38. package/bibliography/T9_economics.bib +275 -0
  39. package/bibliography/hummbl-transformations.json +84 -0
  40. package/dist/unified-bibliography.json +5699 -0
  41. package/docs/CONTRIBUTING.md +240 -0
  42. package/docs/GAP_ANALYSIS.md +142 -0
  43. package/docs/MULTI_AGENT_COORDINATION_PROTOCOL.md +700 -0
  44. package/docs/QUALITY_AUDIT_REPORT.md +576 -0
  45. package/docs/QUALITY_STANDARDS.md +350 -0
  46. package/docs/TRANSFORMATION_GUIDE.md +337 -0
  47. package/docs/metrics/model-accuracy.md +150 -0
  48. package/governance/CAES_CANONICAL.sha256 +1 -0
  49. package/governance/CAES_SPEC.md +107 -0
  50. package/governance/CAES_VERSION +1 -0
  51. package/governance/lexicon/ALLOWLIST_POLICY.md +63 -0
  52. package/governance/lexicon/CANONICALIZATION.md +63 -0
  53. package/governance/lexicon/acronym.schema.json +153 -0
  54. package/governance/lexicon/acronym_allowlist.txt +237 -0
  55. package/governance/lexicon/acronyms.v0.2.json +2555 -0
  56. package/llms.txt +1105 -0
  57. package/mappings/arcana_citations.json +219 -0
  58. package/mappings/bki_evidence.json +384 -0
  59. package/package.json +25 -0
  60. package/reports/.gitkeep +0 -0
  61. package/reports/citation_graph.json +119335 -0
  62. package/scripts/add_nist_tags.py +437 -0
  63. package/scripts/annotate_dois.py +204 -0
  64. package/scripts/check_palace_aliases.py +200 -0
  65. package/scripts/ingest_to_open_brain.py +307 -0
  66. package/scripts/monthly-review.sh +166 -0
  67. package/scripts/setup-hooks.sh +107 -0
  68. package/scripts/test_check_palace_aliases.py +194 -0
  69. package/sources/bki.bib +57 -0
  70. package/sources/theoretical-foundations.bib +589 -0
  71. package/toolkit/README.md +360 -0
  72. package/toolkit/docs/generated/quick-reference.md +179 -0
  73. package/toolkit/package-lock.json +1140 -0
  74. package/toolkit/package.json +66 -0
  75. package/toolkit/scripts/check-memory-palace-aliases.js +230 -0
  76. package/toolkit/scripts/check-memory-palace-aliases.test.js +297 -0
  77. package/toolkit/scripts/generate-docs.js +223 -0
  78. package/toolkit/src/check-duplicates.js +225 -0
  79. package/toolkit/src/check-required-fields.js +138 -0
  80. package/toolkit/src/citation-graph.js +425 -0
  81. package/toolkit/src/extensions/beyondBase120Audit.ts +250 -0
  82. package/toolkit/src/extensions/memoryPalace.ts +438 -0
  83. package/toolkit/src/extract-keywords.js +190 -0
  84. package/toolkit/src/find-missing-dois.js +178 -0
  85. package/toolkit/src/fix-duplicates.js +140 -0
  86. package/toolkit/src/merge-entries.js +29 -0
  87. package/toolkit/src/query.js +281 -0
  88. package/toolkit/src/stats.js +244 -0
  89. package/toolkit/src/test-validation.js +117 -0
  90. package/toolkit/src/utils/modelRegistry.ts +193 -0
  91. package/toolkit/src/utils/monitorModels.ts +150 -0
  92. package/toolkit/src/utils/validateModelCode.ts +196 -0
  93. package/toolkit/src/validate.js +251 -0
  94. package/toolkit/src/watch.js +100 -0
  95. package/toolkit/tsconfig.json +25 -0
@@ -0,0 +1,360 @@
1
+ # HUMMBL Bibliography Toolkit
2
+
3
+ A comprehensive Node.js toolkit for managing, validating, and analyzing the HUMMBL Bibliography.
4
+
5
+ ## 🛠️ Tools Overview
6
+
7
+ | Tool | Purpose | Usage |
8
+ |------|---------|-------|
9
+ | `validate.js` | Validate BibTeX entries | `npm run validate` |
10
+ | `check-duplicates.js` | Find duplicate entries | `npm run check-dups` |
11
+ | `fix-duplicates.js` | Remove duplicates | `npm run fix-dups` |
12
+ | `find-missing-dois.js` | Enrich with DOIs | `npm run find-dois` |
13
+ | `stats.js` | Generate statistics | `npm run stats` |
14
+ | `extract-keywords.js` | Extract HUMMBL keywords | `npm run keywords` |
15
+ | `merge-entries.js` | Interactive merger | `npm run merge` |
16
+
17
+ ## 📦 Installation
18
+
19
+ ```bash
20
+ cd toolkit
21
+ npm install
22
+ ```
23
+
24
+ ## 🚀 Usage
25
+
26
+ ### Validation
27
+
28
+ Validate all bibliography files for errors and warnings:
29
+
30
+ ```bash
31
+ npm run validate
32
+ ```
33
+
34
+ Output includes:
35
+ - Missing required fields
36
+ - Malformed DOIs/ISBNs
37
+ - Short abstracts
38
+ - Missing HUMMBL keywords
39
+
40
+ **CI Mode** (for automation):
41
+ ```bash
42
+ npm run validate:ci
43
+ ```
44
+ Returns JSON output and exits with error code if validation fails.
45
+
46
+ ### Duplicate Detection
47
+
48
+ Check for duplicate entries across all files:
49
+
50
+ ```bash
51
+ npm run check-dups
52
+ ```
53
+
54
+ Detects duplicates by:
55
+ - Citation keys
56
+ - Normalized titles
57
+ - DOIs
58
+ - ISBNs
59
+
60
+ ### Duplicate Removal
61
+
62
+ Automatically remove duplicates (keeps higher tier):
63
+
64
+ ```bash
65
+ npm run fix-dups
66
+ ```
67
+
68
+ Creates `.backup` files before modification.
69
+
70
+ **Dry run** (preview changes):
71
+ ```bash
72
+ npm run fix-dups -- --dry-run
73
+ ```
74
+
75
+ ### DOI Enrichment
76
+
77
+ Find missing DOIs via CrossRef API:
78
+
79
+ ```bash
80
+ npm run find-dois
81
+ ```
82
+
83
+ ⚠️ **Note**: Rate-limited to 1 request/second. May take several minutes.
84
+
85
+ Results include confidence scores for manual review.
86
+
87
+ ### Statistics Generation
88
+
89
+ Generate comprehensive statistics:
90
+
91
+ ```bash
92
+ npm run stats
93
+ ```
94
+
95
+ Shows:
96
+ - Entry counts by tier and type
97
+ - Transformation distribution
98
+ - Quality metrics
99
+ - Gap analysis
100
+
101
+ **JSON output** (for automation):
102
+ ```bash
103
+ npm run stats:json
104
+ ```
105
+
106
+ ### Keyword Extraction
107
+
108
+ Extract and display HUMMBL transformation keywords:
109
+
110
+ ```bash
111
+ npm run keywords
112
+ ```
113
+
114
+ Shows:
115
+ - Entries per transformation
116
+ - Cross-transformation analysis
117
+ - Coverage distribution
118
+
119
+ ### Entry Merging
120
+
121
+ Interactive tool for consolidating entries:
122
+
123
+ ```bash
124
+ npm run merge
125
+ ```
126
+
127
+ Provides guidance for manual merging process.
128
+
129
+ ## 🔧 Advanced Usage
130
+
131
+ ### Validate Specific File
132
+
133
+ ```bash
134
+ node src/validate.js ../bibliography/T1_canonical.bib
135
+ ```
136
+
137
+ ### Custom Statistics
138
+
139
+ ```bash
140
+ node src/stats.js ../bibliography --json | jq '.transformations'
141
+ ```
142
+
143
+ ### Chain Commands
144
+
145
+ ```bash
146
+ npm run validate && npm run check-dups && npm run stats
147
+ ```
148
+
149
+ Or use the test suite:
150
+ ```bash
151
+ npm test
152
+ ```
153
+
154
+ ## 📊 Output Formats
155
+
156
+ ### Validation Output
157
+
158
+ ```
159
+ ============================================================
160
+ HUMMBL Bibliography Validator
161
+ ============================================================
162
+
163
+ 📖 Validating T1_canonical.bib...
164
+ Found 17 entries
165
+ ✓ All entries valid
166
+
167
+ ============================================================
168
+ Validation Summary
169
+ ============================================================
170
+
171
+ Total Entries: 48
172
+ Errors: 0
173
+ Warnings: 0
174
+
175
+ ✨ All validations passed!
176
+ ```
177
+
178
+ ### Statistics Output
179
+
180
+ ```
181
+ ============================================================
182
+ HUMMBL BIBLIOGRAPHY STATISTICS
183
+ ============================================================
184
+
185
+ 📊 OVERVIEW
186
+ Total Entries: 48
187
+
188
+ 📚 BY TIER
189
+ T1: 17 (35.4%) ████████
190
+ T2: 16 (33.3%) ████████
191
+ T3: 15 (31.3%) ███████
192
+
193
+ 🔄 HUMMBL TRANSFORMATIONS
194
+ SY (Synthesis ): 20 ██████████
195
+ CO (Composition ): 18 █████████
196
+ ...
197
+ ```
198
+
199
+ ### JSON Output
200
+
201
+ ```json
202
+ {
203
+ "total": 48,
204
+ "byTier": {
205
+ "T1": 17,
206
+ "T2": 16,
207
+ "T3": 15
208
+ },
209
+ "transformations": {
210
+ "P": 17,
211
+ "IN": 15,
212
+ "CO": 18,
213
+ "DE": 12,
214
+ "RE": 16,
215
+ "SY": 20
216
+ },
217
+ "quality": {
218
+ "withDOI": 14,
219
+ "withISBN": 35,
220
+ "withAbstract": 48,
221
+ "withKeywords": 48
222
+ }
223
+ }
224
+ ```
225
+
226
+ ## 🤖 Automation
227
+
228
+ ### Pre-commit Hooks
229
+
230
+ Setup Git hooks to validate on commit:
231
+
232
+ ```bash
233
+ npm run setup
234
+ ```
235
+
236
+ This installs Husky hooks that:
237
+ - Validate modified `.bib` files
238
+ - Check for duplicates
239
+ - Block commits with critical errors
240
+
241
+ ### CI/CD Integration
242
+
243
+ The toolkit is designed for CI/CD integration:
244
+
245
+ **GitHub Actions Example**:
246
+ ```yaml
247
+ - name: Validate bibliography
248
+ run: |
249
+ cd toolkit
250
+ npm ci
251
+ npm run validate:ci
252
+ ```
253
+
254
+ See `.github/workflows/` for complete examples.
255
+
256
+ ## 📝 Configuration
257
+
258
+ ### package.json
259
+
260
+ All scripts are configured in `package.json`:
261
+
262
+ ```json
263
+ {
264
+ "scripts": {
265
+ "validate": "node src/validate.js ../bibliography",
266
+ "validate:ci": "node src/validate.js ../bibliography --ci",
267
+ "check-dups": "node src/check-duplicates.js ../bibliography",
268
+ "stats": "node src/stats.js ../bibliography",
269
+ "stats:json": "node src/stats.js ../bibliography --json",
270
+ ...
271
+ }
272
+ }
273
+ ```
274
+
275
+ ### Directory Structure
276
+
277
+ ```
278
+ toolkit/
279
+ ├── src/
280
+ │ ├── validate.js # Validation engine
281
+ │ ├── check-duplicates.js # Duplicate detector
282
+ │ ├── fix-duplicates.js # Duplicate remover
283
+ │ ├── find-missing-dois.js # DOI enrichment
284
+ │ ├── stats.js # Statistics generator
285
+ │ ├── extract-keywords.js # Keyword extractor
286
+ │ └── merge-entries.js # Entry merger
287
+ ├── package.json # Dependencies and scripts
288
+ ├── package-lock.json # Locked dependencies
289
+ └── README.md # This file
290
+ ```
291
+
292
+ ## 🧪 Testing
293
+
294
+ Run the full test suite:
295
+
296
+ ```bash
297
+ npm test
298
+ ```
299
+
300
+ This runs:
301
+ 1. Validation on all files
302
+ 2. Duplicate detection
303
+
304
+ ## 🐛 Troubleshooting
305
+
306
+ ### "Citation-js not found"
307
+
308
+ ```bash
309
+ rm -rf node_modules package-lock.json
310
+ npm install
311
+ ```
312
+
313
+ ### "Permission denied" on scripts
314
+
315
+ ```bash
316
+ chmod +x src/*.js
317
+ ```
318
+
319
+ ### Validation fails on valid entries
320
+
321
+ Check that:
322
+ - BibTeX syntax is correct
323
+ - All required fields are present
324
+ - Field names use correct casing
325
+
326
+ ### DOI finder times out
327
+
328
+ The CrossRef API is rate-limited. The script waits 1 second between requests. For large batches, this may take time.
329
+
330
+ ## 📚 Dependencies
331
+
332
+ - **@citation-js/core**: BibTeX parsing
333
+ - **@citation-js/plugin-bibtex**: BibTeX format support
334
+ - **axios**: HTTP requests for DOI enrichment
335
+ - **chalk**: Terminal colors and formatting
336
+ - **commander**: CLI argument parsing (future)
337
+
338
+ ## 🔮 Future Enhancements
339
+
340
+ - [ ] Watch mode for continuous validation
341
+ - [ ] Interactive TUI for managing entries
342
+ - [ ] Export to multiple formats (APA, Chicago, etc.)
343
+ - [ ] Automated relevance scoring
344
+ - [ ] Network graph generation
345
+ - [ ] Web dashboard
346
+
347
+ ## 📖 Documentation
348
+
349
+ - [CONTRIBUTING.md](../docs/CONTRIBUTING.md) - Contribution guidelines
350
+ - [QUALITY_STANDARDS.md](../docs/QUALITY_STANDARDS.md) - Entry standards
351
+ - [TRANSFORMATION_GUIDE.md](../docs/TRANSFORMATION_GUIDE.md) - HUMMBL mapping
352
+
353
+ ## 📄 License
354
+
355
+ MIT License - see [../LICENSE](../LICENSE)
356
+
357
+ ---
358
+
359
+ **Maintained by**: HUMMBL Team
360
+ **Version**: 1.0.0
@@ -0,0 +1,179 @@
1
+ # HUMMBL Base120 Quick Reference
2
+
3
+ **Version**: 1.0-production
4
+ **Generated**: 2025-11-12
5
+ **Source**: Canonical Base120 Framework
6
+
7
+ ---
8
+
9
+ ## P Series
10
+
11
+ **Transform**: Frame and name what is. Anchor or shift point of view.
12
+
13
+ | Code | Model Name |
14
+ |------|-----------|
15
+ | **P1** | First Principles Framing |
16
+ | **P2** | Stakeholder Mapping |
17
+ | **P3** | Identity Stack |
18
+ | **P4** | Lens Shifting |
19
+ | **P5** | Empathy Mapping |
20
+ | **P6** | Point-of-View Anchoring |
21
+ | **P7** | Perspective Switching |
22
+ | **P8** | Narrative Framing |
23
+ | **P9** | Cultural Lens Shifting |
24
+ | **P10** | Context Windowing |
25
+ | **P11** | Role Perspective-Taking |
26
+ | **P12** | Temporal Framing |
27
+ | **P13** | Spatial Framing |
28
+ | **P14** | Reference Class Framing |
29
+ | **P15** | Assumption Surfacing |
30
+ | **P16** | Identity-Context Reciprocity |
31
+ | **P17** | Frame Control & Reframing |
32
+ | **P18** | Boundary Object Selection |
33
+ | **P19** | Sensemaking Canvases |
34
+ | **P20** | Worldview Articulation |
35
+
36
+ ## IN Series
37
+
38
+ **Transform**: Reverse assumptions. Examine opposites, edges, negations.
39
+
40
+ | Code | Model Name |
41
+ |------|-----------|
42
+ | **IN1** | Subtractive Thinking |
43
+ | **IN2** | Premortem Analysis |
44
+ | **IN3** | Problem Reversal |
45
+ | **IN4** | Contra-Logic |
46
+ | **IN5** | Negative Space Framing |
47
+ | **IN6** | Inverse/Proof by Contradiction |
48
+ | **IN7** | Boundary Testing |
49
+ | **IN8** | Contrapositive Reasoning |
50
+ | **IN9** | Backward Induction |
51
+ | **IN10** | Red Teaming |
52
+ | **IN11** | Devil's Advocate Protocol |
53
+ | **IN12** | Failure First Design |
54
+ | **IN13** | Opportunity Cost Focus |
55
+ | **IN14** | Second-Order Effects (Inverted) |
56
+ | **IN15** | Constraint Reversal |
57
+ | **IN16** | Inverse Optimization |
58
+ | **IN17** | Counterfactual Negation |
59
+ | **IN18** | Kill-Criteria & Stop Rules |
60
+ | **IN19** | Harm Minimization (Via Negativa) |
61
+ | **IN20** | Antigoals & Anti-Patterns Catalog |
62
+
63
+ ## CO Series
64
+
65
+ **Transform**: Combine parts into coherent wholes.
66
+
67
+ | Code | Model Name |
68
+ |------|-----------|
69
+ | **CO1** | Synergy Principle |
70
+ | **CO2** | Chunking |
71
+ | **CO3** | Functional Composition |
72
+ | **CO4** | Interdisciplinary Synthesis |
73
+ | **CO5** | Emergence |
74
+ | **CO6** | Gestalt Integration |
75
+ | **CO7** | Network Effects |
76
+ | **CO8** | Layered Abstraction |
77
+ | **CO9** | Interface Contracts |
78
+ | **CO10** | Pipeline Orchestration |
79
+ | **CO11** | Pattern Composition (Tiling) |
80
+ | **CO12** | Modular Interoperability |
81
+ | **CO13** | Cross-Domain Analogy |
82
+ | **CO14** | Platformization |
83
+ | **CO15** | Combinatorial Design |
84
+ | **CO16** | System Integration Testing |
85
+ | **CO17** | Orchestration vs Choreography |
86
+ | **CO18** | Knowledge Graphing |
87
+ | **CO19** | Multi-Modal Integration |
88
+ | **CO20** | Holistic Integration |
89
+
90
+ ## DE Series
91
+
92
+ **Transform**: Break complex systems into constituent parts.
93
+
94
+ | Code | Model Name |
95
+ |------|-----------|
96
+ | **DE1** | Root Cause Analysis (5 Whys) |
97
+ | **DE2** | Factorization |
98
+ | **DE3** | Modularization |
99
+ | **DE4** | Layered Breakdown |
100
+ | **DE5** | Dimensional Reduction |
101
+ | **DE6** | Taxonomy/Classification |
102
+ | **DE7** | Pareto Decomposition (80/20) |
103
+ | **DE8** | Work Breakdown Structure |
104
+ | **DE9** | Signal Separation |
105
+ | **DE10** | Abstraction Laddering |
106
+ | **DE11** | Scope Delimitation |
107
+ | **DE12** | Constraint Isolation |
108
+ | **DE13** | Failure Mode Analysis (FMEA) |
109
+ | **DE14** | Variable Control & Isolation |
110
+ | **DE15** | Decision Tree Expansion |
111
+ | **DE16** | Hypothesis Disaggregation |
112
+ | **DE17** | Orthogonalization |
113
+ | **DE18** | Scenario Decomposition |
114
+ | **DE19** | Critical Path Unwinding |
115
+ | **DE20** | Partition-and-Conquer |
116
+
117
+ ## RE Series
118
+
119
+ **Transform**: Apply operations iteratively, with outputs becoming inputs.
120
+
121
+ | Code | Model Name |
122
+ |------|-----------|
123
+ | **RE1** | Recursive Improvement (Kaizen) |
124
+ | **RE2** | Feedback Loops |
125
+ | **RE3** | Meta-Learning (Learn-to-Learn) |
126
+ | **RE4** | Nested Narratives |
127
+ | **RE5** | Fractal Reasoning |
128
+ | **RE6** | Recursive Framing |
129
+ | **RE7** | Self-Referential Logic |
130
+ | **RE8** | Bootstrapping |
131
+ | **RE9** | Iterative Prototyping |
132
+ | **RE10** | Compounding Cycles |
133
+ | **RE11** | Calibration Loops |
134
+ | **RE12** | Bayesian Updating in Practice |
135
+ | **RE13** | Gradient Descent Heuristic |
136
+ | **RE14** | Spiral Learning |
137
+ | **RE15** | Convergence-Divergence Cycling |
138
+ | **RE16** | Retrospective→Prospective Loop |
139
+ | **RE17** | Versioning & Diff |
140
+ | **RE18** | Anti-Catastrophic Forgetting |
141
+ | **RE19** | Auto-Refactor |
142
+ | **RE20** | Recursive Governance (Guardrails that Learn) |
143
+
144
+ ## SY Series
145
+
146
+ **Transform**: Understand systems of systems, coordination, and emergent dynamics.
147
+
148
+ | Code | Model Name |
149
+ |------|-----------|
150
+ | **SY1** | Leverage Points |
151
+ | **SY2** | System Boundaries |
152
+ | **SY3** | Stocks & Flows |
153
+ | **SY4** | Requisite Variety |
154
+ | **SY5** | Systems Archetypes |
155
+ | **SY6** | Feedback Structure Mapping |
156
+ | **SY7** | Path Dependence |
157
+ | **SY8** | Homeostasis/Dynamic Equilibrium |
158
+ | **SY9** | Phase Transitions & Tipping Points |
159
+ | **SY10** | Causal Loop Diagrams |
160
+ | **SY11** | Governance Patterns |
161
+ | **SY12** | Protocol/Interface Standards |
162
+ | **SY13** | Incentive Architecture |
163
+ | **SY14** | Risk & Resilience Engineering |
164
+ | **SY15** | Multi-Scale Alignment |
165
+ | **SY16** | Ecosystem Strategy |
166
+ | **SY17** | Policy Feedbacks |
167
+ | **SY18** | Measurement & Telemetry |
168
+ | **SY19** | Meta-Model Selection |
169
+ | **SY20** | Systems-of-Systems Coordination |
170
+
171
+ ---
172
+
173
+ **Usage Guidelines**
174
+
175
+ 1. **Only use models from this official list**
176
+ 2. **Reference by code**: [P|IN|CO|DE|RE|SY][1-20]
177
+ 3. **Verify against this list** before claiming a model
178
+ 4. **When uncertain, ask** rather than guessing
179
+