@nomad-e/bluma-cli 0.1.39 → 0.1.40

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.
@@ -5,10 +5,12 @@ description: >
5
5
  Triggers: open, read, edit, create, fix, or convert .xlsx, .xlsm, .csv,
6
6
  or .tsv files — including adding columns, computing formulas, formatting,
7
7
  charting, cleaning messy data, restructuring tabular data, or building
8
- financial models. Also trigger when the user references a spreadsheet by
9
- name or path and wants something done to it. The deliverable must be a
10
- spreadsheet file. Do NOT trigger when the primary deliverable is a Word
11
- document, HTML report, or standalone script.
8
+ financial models. Prefer normal Excel formulas in cells (visible in the
9
+ formula bar, human-auditable), not hidden logic or pasted numeric results.
10
+ Also trigger when the user references a spreadsheet by name or path and
11
+ wants something done to it. The deliverable must be a spreadsheet file.
12
+ Do NOT trigger when the primary deliverable is a Word document, HTML
13
+ report, or standalone script.
12
14
  license: Proprietary. LICENSE.txt has complete terms
13
15
  ---
14
16
 
@@ -20,6 +22,28 @@ license: Proprietary. LICENSE.txt has complete terms
20
22
  > formula so the spreadsheet stays dynamic. Never compute in Python and
21
23
  > paste the result into a cell.
22
24
 
25
+ ### Human-readable formulas — everything visible in Excel
26
+
27
+ The workbook must behave like one a **human analyst** would open and audit:
28
+
29
+ - **Visible in the formula bar:** Any cell that depends on other cells MUST
30
+ store a real Excel formula (string starting with `=`). When the user
31
+ selects the cell, they see the formula — not a magic number that was
32
+ computed offline.
33
+ - **No “black box” outputs:** Do not replace formulas with static values
34
+ except for true inputs (assumptions, imported facts). Intermediate and
35
+ final calculated columns = formulas referencing cells/sheets.
36
+ - **Readable structure:** Prefer clear, conventional functions (`SUM`,
37
+ `AVERAGE`, `IF`, `SUMIF`, `XLOOKUP`/`VLOOKUP`, etc.) and broken-out
38
+ helper columns over one impenetrable mega-formula, when that makes the
39
+ model easier to follow — same as a careful human would build.
40
+ - **Auditable trail:** Another person should trace “this total → those
41
+ lines → those inputs” using only Excel (Show Formulas / following
42
+ references), without reading Python.
43
+ - **openpyxl:** Assign formulas as strings, e.g. `ws['D2'] = '=B2*C2'`, so
44
+ they remain formulas in the saved file. Never save a workbook opened with
45
+ `data_only=True` if you need formulas preserved (see Reading section).
46
+
23
47
  ## Output Quality Standards
24
48
 
25
49
  ### Professional Appearance
@@ -135,6 +159,16 @@ ws['B10'] = '=SUM(B2:B9)'
135
159
  This applies to ALL calculations: totals, averages, percentages,
136
160
  growth rates, ratios, conditional aggregations.
137
161
 
162
+ ### Visibility checklist (model must self-verify)
163
+
164
+ - Opening the file in Excel/LibreOffice: calculated cells show **formulas**
165
+ in the formula bar, not only final numbers with no `=`.
166
+ - Totals, subtotals, ratios, and lookups reference **cell addresses** or
167
+ structured ranges — not constants copied from a script.
168
+ - If the user asked for “Excel they can trust,” err on the side of **more
169
+ rows/columns with simpler formulas** rather than fewer cells with opaque
170
+ nested functions.
171
+
138
172
  ### Common Formula Patterns
139
173
 
140
174
  | Operation | Formula |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nomad-e/bluma-cli",
3
- "version": "0.1.39",
3
+ "version": "0.1.40",
4
4
  "description": "BluMa independent agent for automation and advanced software engineering.",
5
5
  "author": "Alex Fonseca",
6
6
  "license": "Apache-2.0",