Pith. sign in

REVIEW 4 major objections 4 minor 36 references

Semi-supervised Credit Card Fraud Detection via Attribute-Driven Graph Representation

T0 review · 4 major / 4 minor · reviewed 2026-08-11 · deepseek-v4-flash

Pith's one-line read The paper proposes GTAN, a gated temporal attention network that treats transaction labels as categorical attributes and propagates them through a temporal transaction graph, reporting large AUC gains over eight baselines on three fraud…

desk verdict A coherent but incremental architecture whose headline AUC gains hinge on an unstated inference-time masking detail that could turn the result into label copying. read the letter →

arxiv 2412.18287 v1 pith:4IML725R submitted 2024-12-24 cs.LG cs.AIcs.SI

classification cs.LGcs.AIcs.SI
keywords creditcardfrauddetectionsemi-supervisedlearninggraphneuralnetworktemporaltransactionriskembeddinglabelleakagegatedattention
verification ladder T0 review T1 audit T2 compute T3 formal

The pith

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The reading

The paper claims that credit card fraud detection can be recast as semi-supervised node classification on a temporal transaction graph, where transactions are nodes and directed edges run from past to present transactions of the same card. To exploit scarce labels, the proposed GTAN model adds the observed label as a categorical attribute — a 'risk embedding' — and propagates it alongside other attributes through a gated temporal attention network, masking the center node's own risk embedding during training to avoid label leakage. On three datasets (YelpChi reviews, Amazon reviews, and a real-world FFSD transaction set), GTAN reports higher AUC, F1-macro, and average precision than eight baselines, with AUC gains of at least 10%, 0.5%, and 6% respectively. It also maintains its advantage when only 10% of training nodes are labeled. If these results hold, financial institutions could build reliable fraud detectors from a tiny fraction of labeled transactions, a large savings in labeling cost.

What carries the argument

The load-bearing object is the risk embedding: the transaction label is treated as a categorical attribute, embedded, and added to node features, so a single GNN performs both feature propagation and label propagation (following the masked-label-prediction idea). To prevent the model from copying its own label, training masks the center node's risk embedding to zero while keeping neighbors' labels, then predicts the center label. The other central component is the temporal transaction graph with gated temporal attention (multi-head attention over past-transaction neighbors), which restricts message passing to a cardholder's historical transactions and reweights neighbors. The attribute-driven gated residual then decides how much of each layer's aggregated embedding to keep.

What would settle it

Re-run the FFSD evaluation with every test transaction's risk embedding forced to zero at inference (and the center-masking rule applied to all test nodes), then compare AUC to the reported 0.7616; a drop toward the 0.6795 of PC-GNN would indicate the gap came from feeding unobserved labels into the model.

Watch

Extended reading notes

Core claim

The central discovery is that jointly propagating transaction attributes and partially observed labels in the same graph neural network—by treating the label as one more categorical attribute and masking the target node's label during training—lets a temporal attention model detect fraud with far fewer labels than supervised baselines. GTAN constructs a temporal transaction graph in which each node is a transaction and each directed edge connects a cardholder's past transaction to the current one, so message passing naturally follows the cardholder's spending history. A multi-head gated temporal attention layer reweights neighbor messages, and an attribute-driven residual gate blends raw attributes with aggregated embeddings. The reported experiments show GTAN outperforming GEM, Player2Vec, FdGars, Semi-GNN, GraphSAGE, GraphConsis, CARE-GNN, and PC-GNN on all three datasets, and the semi-supervised sweep shows stable AUC as labeled fraction drops to 10%.

Load-bearing premise

The reported test accuracy assumes that at inference time the risk embeddings of test transactions are zeroed and only labels observed before the scored transaction are used; the paper says it uses 'all observed labels' as input without explicitly stating test embeddings are masked, so if test labels enter the input the AUC numbers would reflect label copying rather than fraud detection.

Editorial extensions

If this is right

  • With only 10% of training nodes labeled, GTAN still outperforms CARE-GNN and PC-GNN on YelpChi and Amazon, suggesting the method is well suited to production settings where labeling is expensive.
  • Because message passing is restricted to a cardholder's past transactions, the model cannot peek at future transactions when scoring a current one, matching the online detection setting described in the introduction.
  • The ablation study shows removing the temporal attention mechanism hurts accuracy most, so the graph-structure reweighting is the main driver of the reported gains.
  • The authors state the method has been deployed in a transaction fraud analysis system, implying the approach scales to real production data beyond the FFSD benchmark.

Reading between the lines

Editorial extensions of the paper, not claims the author makes directly.

  • Beyond the paper: if the inference-time masking ambiguity is resolved by zeroing test-node risk embeddings, the same label-as-categorical-attribute design could transfer to other sequence-structured fraud settings (insurance claims, money laundering) where labels are rare.
  • Beyond the paper: the paper treats every unlabeled transaction with a single 'unlabeled' embedding; a natural testable refinement is to feed the model's own risk predictions back as soft labels for the newest unlabeled transactions, which could extend the propagation horizon.
  • Beyond the paper: because the semi-supervised curve is stable from 10% to 80% labeled data, a stress test at 1–5% labels would reveal whether the gain comes from risk propagation or from the temporal attention regularizer.
Share X Bluesky LinkedIn Reddit HN

Signed reviews

No signed human review yet.

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, and a circularity audit.

Referee Report

4 major / 4 minor

Summary. The paper proposes GTAN, a semi-supervised graph neural network for credit card fraud detection. It constructs a temporal transaction graph, applies a gated temporal attention network over attribute embeddings, and augments node features with a 'risk embedding' that treats partially observed fraud labels as a categorical attribute. During training, center-node risk embeddings are masked to zero to avoid label leakage, and a two-layer MLP predicts fraud risk with binary cross-entropy. On YelpChi, Amazon, and a private FFSD dataset, the authors report substantial AUC/F1/AP improvements over eight baselines, and they show robustness when only 10% of labels are available.

Significance. If the empirical claims hold, GTAN would be a strong result: it would demonstrate that masked risk propagation plus temporal graph attention yields state-of-the-art semi-supervised fraud detection with very few labels. The paper deserves credit for explicitly designing a masked training objective (Eq. 7) to avoid self-label leakage, for the ablation isolating the temporal attention and risk-embedding components, and for the parameter sensitivity analysis. However, the main empirical claim currently rests on an under-specified inference-time input protocol and a private dataset, and the attention normalization in Eq. (3) needs clarification; these issues are load-bearing for the reported AUC gains.

major comments (4)
  1. [Masking to Avoid Label Leakage, Eq. (7)] Eq. (7) masks center-node risk embeddings to zero only during training, and the following sentence states that 'during inference, we employ all observed labels Ŷ as input categorical attributes to predict the risk of the transactions out of the training set.' This leaves open whether the label of the transaction being predicted is in Ŷ. On YelpChi and Amazon, which are fully labeled, including the test node's own label as a risk embedding would allow the MLP to copy that feature and would inflate the AUC numbers in Table 2 and Figure 3. Please specify the inference-time protocol exactly (test-node risk embeddings zeroed? labels restricted to those observed before the transaction time for FFSD and to the training split for YelpChi/Amazon), and report the main tables with all test-node risk embeddings forced to zero at inference.
  2. [Experiment Settings - Datasets] FFSD is private and the description of its label construction is incomplete for the claimed temporal evaluation. The text says ground-truth labels come from consumer reports and expert confirmation, but it does not say whether a fraud label was known at the time a later transaction is scored, and it does not explain how the 1,645,121 unlabeled nodes were selected. Because the evaluation uses the first 7 months as training and the next 3 months as test, the risk-embedding input for a test-month transaction must exclude labels that only became observable after that transaction. Please provide the label cutoff rule, the unlabeled-node selection procedure, and a reproducibility plan for the private dataset.
  3. [Temporal Graph Attention, Eq. (3)] In Eq. (3), the attention coefficient α_{x_t,x_i} is normalized by a sum over x_j ∈ N(x_t), the neighbor set of the source node, while the aggregation in the attention head sums over x_t ∈ N(x_i), the neighbor set of the target node. Standard softmax attention normalizes over the target's neighbors N(x_i), so the equation as written is internally inconsistent. If the implementation instead uses source-side normalization, the model is a different mechanism, and the ablation in Figure 4 cannot be read as an ablation of the described temporal attention. Please correct Eq. (3) or state the intended normalization.
  4. [Fraud Detection Performance and Semi-supervised Experiment] The baseline comparison does not state how the baselines use unlabeled data. On FFSD, for example, GTAN consumes the full 1,820,840-node graph, while Semi-GNN, GraphSAGE, GraphConsis, CARE-GNN, and PC-GNN may be restricted to the 175,719 labeled nodes or may use unlabeled nodes only as graph context; the paper does not say. If the baselines do not receive the same unlabeled-node information, the 'semi-supervised' comparison conflates architecture with data access. Please specify the training protocol for each baseline under the semi-supervised setting and, if necessary, rerun the comparison under a matched protocol.
minor comments (4)
  1. [Experiments] In the paragraph describing baseline results, 'GraphSASE' should be 'GraphSAGE'.
  2. [Experiment Settings - Datasets] The dataset name 'Finacial Fraud Semi-supervised Dataset' should be 'Financial Fraud Semi-supervised Dataset'.
  3. [Risk Embedding and Propagation] The expression x_ti = x_num + x_cat + \tilde{y}_{t1}W_r should read \tilde{y}_{t_i}W_r, with the index matching the transaction t_i.
  4. [Table 2] Since the experiments are repeated ten times and a paired t-test is reported, please include standard deviations or confidence intervals for the AUC, F1-macro, and AP values.

Circularity Check

1 steps flagged · score 6.0 of 10

The risk-embedding input is defined from the target label and is unmasked at inference, so the headline AUC gains may reduce to label copying rather than fraud detection.

  1. self definitional [Risk Embedding and Propagation; Masking to Avoid Label Leakage (Eq. 7)]
    "we take the manually annotated label as the risk feature of each transaction, where the category of unlabeled data is 'unlabeled', and the category of the rest of the data is 'fraud' or 'legitimate'. Then, we add this feature to the transaction data as one of our input categorical attributes. ... Then, we convert the partially observed labels Ŷ into Ỹ by masking all the center nodes' risk embeddings to zero embeddings and keeping the others unchanged. ..."

    The risk feature for a transaction is its own ground-truth label, and the prediction target is the same label. Eq. (7) zeroes only center-node risk embeddings during training; no inference-time masking is specified, and the paper instead feeds 'all observed labels' as input attributes. Unless test-node risk embeddings are explicitly zeroed—a step the paper never describes—Ŷ includes the label of the node being scored on the fully labeled YelpChi/Amazon splits and on FFSD once test labels exist, so that label enters x_ti via the risk-embedding term and can be copied to the output through the residual path of Eq. (4). The reported AUC then measures label copying rather than independent fraud detection.

full rationale

The GTAN architecture itself is defined by explicit equations (Eqs. 1-7) and does not depend on cited results for its forward computation; the self-citations to Xiang et al. for temporal graph construction and TGAT are provenance, not load-bearing evidence. The Shi et al. (2021) citation is external and supplies the theoretical justification for joint attribute-label propagation. However, the central performance claim rests on an inference-time protocol that is not closed: risk embeddings are defined from labels, masked only for training center nodes, and then fed back as 'all observed labels' at inference. Unless test-node risk embeddings are explicitly zeroed—which the paper never states—the prediction is a function of the label it claims to predict, so the reported state-of-the-art AUC improvements can be explained by label copying. This is a partial circularity in the evaluation of the central claim, not merely a weak baseline comparison.

Assumptions & free parameters 7 free parameters · 4 assumptions · 0 invented entities

The model depends on tuned hyperparameters, on the correctness of the label masking procedure, and on label quality in a private dataset. No new physical entities are introduced.

free parameters (7)
  • Number of temporal edges per node = 6
    Tuned in Figure 5(b); peak AUC at 6 edges, default set to 6.
  • Number of TGAT layers = 2
    Tuned in Figure 5(a); peak AUC and AP at 2 layers, default depth set to 2.
  • Hidden dimension = 256
    Tuned in Figure 5(c); relative performance peak at 256.
  • Batch size = 256
    Tuned in Figure 5(d); best at 64 or 256, and 256 is chosen for efficiency.
  • Attention heads = 4
    Set by hand in experiment settings; no sensitivity study is reported.
  • Learning rate = 0.0003
    Set by hand in experiment settings; no sensitivity study is reported.
  • Input dropout = 0.2
    Set by hand in experiment settings; no sensitivity study is reported.
assumptions (4)
  • domain assumption Temporal transaction graph edges connect each transaction to K past transactions of the same cardholder, and these edges carry the fraud pattern signal.
    Invoked in 'Gated Temporal Attention Networks'; sampling is limited to past transactions from the same cardholder to avoid future information.
  • domain assumption Masking only the center node's risk embedding during training, and using observed labels as attributes at inference, prevents label leakage.
    Section 'Masking to Avoid Label Leakage'; the paper does not specify whether test labels are masked at inference, so this assumption is load-bearing.
  • domain assumption The FFSD ground-truth labels are reliable even though more than 90% of nodes are unlabeled.
    Dataset description; unreported fraudulent transactions would be treated as legitimate, introducing label noise.
  • standard math Standard GNN, attention, and MLP building blocks operate as expected on transaction graphs.
    Relies on multi-head attention, gated residual connections, MLP, and binary cross-entropy without formal guarantees.

how reviews work

0 comments
Cite this review

Pith. "Pith review of Semi-supervised Credit Card Fraud Detection via Attribute-Driven Graph Representation." pith.science (2026). https://pith.science/paper/4IML725R

@misc{pith2026241218287,
  author       = {Pith},
  title        = {Pith review of: Semi-supervised Credit Card Fraud Detection via Attribute-Driven Graph Representation},
  year         = {2026},
  howpublished = {\url{https://pith.science/paper/4IML725R}},
  note         = {Machine review of arXiv:2412.18287}
}
read the original abstract

Credit card fraud incurs a considerable cost for both cardholders and issuing banks. Contemporary methods apply machine learning-based classifiers to detect fraudulent behavior from labeled transaction records. But labeled data are usually a small proportion of billions of real transactions due to expensive labeling costs, which implies that they do not well exploit many natural features from unlabeled data. Therefore, we propose a semi-supervised graph neural network for fraud detection. Specifically, we leverage transaction records to construct a temporal transaction graph, which is composed of temporal transactions (nodes) and interactions (edges) among them. Then we pass messages among the nodes through a Gated Temporal Attention Network (GTAN) to learn the transaction representation. We further model the fraud patterns through risk propagation among transactions. The extensive experiments are conducted on a real-world transaction dataset and two publicly available fraud detection datasets. The result shows that our proposed method, namely GTAN, outperforms other state-of-the-art baselines on three fraud detection datasets. Semi-supervised experiments demonstrate the excellent fraud detection performance of our model with only a tiny proportion of labeled data.

Figures

Figures reproduced from arXiv: 2412.18287 by the authors.

Figure 1
Figure 1. The illustration of typical credit card fraud detec [PITH_FULL_IMAGE:figures/full_fig_p001_1.png] view at source ↗
Figure 2
Figure 2. The illustration of the proposed model architecture and temporal graph attention mechanism. [PITH_FULL_IMAGE:figures/full_fig_p003_2.png] view at source ↗
Figure 3
Figure 3. The result of semi-supervised experiments with [PITH_FULL_IMAGE:figures/full_fig_p006_3.png] view at source ↗
Figures from the paper (2 more)
Figure 4
Figure 4. Figure 4: The ablation study results on three datasets. Gray bars represent the GTAN-A variant, blue bars represent the GTAN-R [PITH_FULL_IMAGE:figures/full_fig_p007_4.png]
Figure 5
Figure 5. Figure 5: Parameter sensitivity analysis with respect to (a) [PITH_FULL_IMAGE:figures/full_fig_p007_5.png]

Discussion (0). Continue with ORCID to comment.

Reference graph

Works this paper leans on

36 extracted references · 28 canonical work pages

  1. [1]

    AlFalahi, L.; and Nobanee, H. 2019. Conceptual Building of Sustainable Economic Growth and Corporate Bankruptcy. Available at SSRN 3472409

  2. [2]

    Bhattacharyya, S.; Jha, S.; Tharakunnel, K.; and Westland, J. C. 2011 a . Data mining for credit card fraud: A comparative study. Decision Support Systems, 50(3): 602--613

  3. [3]

    K.; and Westland, J

    Bhattacharyya, S.; Jha, S.; Tharakunnel, K. K.; and Westland, J. C. 2011 b . Data mining for credit card fraud: A comparative study. Decis. Support Syst., 50: 602--613

  4. [4]

    Cheng, D.; Wang, X.; Zhang, Y.; and Zhang, L. 2020 a . Graph neural network for fraud detection via spatial-temporal attention. IEEE Transactions on Knowledge and Data Engineering

  5. [5]

    Cheng, D.; Xiang, S.; Shang, C.; Zhang, Y.; Yang, F.; and Zhang, L. 2020 b . Spatio-Temporal Attention-Based Neural Network for Credit Card Fraud Detection. In AAAI, 362--369

  6. [6]

    Dou, Y.; Liu, Z.; Sun, L.; Deng, Y.; Peng, H.; and Yu, P. S. 2020. Enhancing graph neural network-based fraud detectors against camouflaged fraudsters. In Proceedings of the 29th ACM International Conference on Information & Knowledge Management, 315--324

  7. [7]

    Fiore, U.; De Santis, A.; Perla, F.; Zanetti, P.; and Palmieri, F. 2017. Using generative adversarial networks for improving classification effectiveness in credit card fraud detection. Information Sciences

  8. [8]

    Fu, K.; Cheng, D.; Tu, Y.; and Zhang, L. 2016. Credit card fraud detection using convolutional neural networks. In International Conference on Neural Information Processing, 483--490. Springer

Show all 36 references
  1. [9]

    Guan, Q.; Huang, Y.; Zhong, Z.; Zheng, Z.; Zheng, L.; and Yang, Y. 2018. Diagnose like a radiologist: Attention guided convolutional neural network for thorax disease classification. arXiv preprint arXiv:1801.09927

  2. [10]

    L.; Ying, R.; and Leskovec, J

    Hamilton, W. L.; Ying, R.; and Leskovec, J. 2017. Inductive Representation Learning on Large Graphs. In NIPS

  3. [11]

    N.; and Welling, M

    Kipf, T. N.; and Welling, M. 2016. Semi-supervised classification with graph convolutional networks. arXiv preprint arXiv:1609.02907

  4. [12]

    Liu, Y.; Ao, X.; Qin, Z.; Chi, J.; Feng, J.; Yang, H.; and He, Q. 2021. Pick and choose: a GNN-based imbalanced learning approach for fraud detection. In Proceedings of the Web Conference 2021, 3168--3177

  5. [13]

    Liu, Z.; Chen, C.; Yang, X.; Zhou, J.; Li, X.; and Song, L. 2018. Heterogeneous graph neural networks for malicious account detection. In Proceedings of the 27th ACM International Conference on Information and Knowledge Management, 2077--2085

  6. [14]

    S.; Deng, Y.; and Peng, H

    Liu, Z.; Dou, Y.; Yu, P. S.; Deng, Y.; and Peng, H. 2020. Alleviating the Inconsistency Problem of Applying Graph Neural Network to Fraud Detection. In Proceedings of the 43nd International ACM SIGIR Conference on Research and Development in Information Retrieval

  7. [15]

    Maes, S.; Tuyls, K.; Vanschoenwinkel, B.; and Manderick, B. 2002. Credit card fraud detection using Bayesian and neural networks. In Proceedings of the 1st international naiso congress on neuro fuzzy technologies, 261--270

  8. [16]

    M \'a t \'e , D.; Sadaf, R.; Ol \'a h, J.; Popp, J.; and Sz u cs, E. 2019. The effects of accountability, governance capital, and legal origin on reported frauds. Technological and Economic Development of Economy, 25(6): 1213--1231

  9. [17]

    J.; and Leskovec, J

    McAuley, J. J.; and Leskovec, J. 2013. From amateurs to connoisseurs: modeling the evolution of user expertise through online reviews. In Proceedings of the 22nd international conference on World Wide Web, 897--908

  10. [18]

    Patidar, R.; Sharma, L.; et al. 2011. Credit card fraud detection using neural network. International Journal of Soft Computing and Engineering (IJSCE), 1(32-38)

  11. [19]

    Rayana, S.; and Akoglu, L. 2015. Collective opinion spam detection: Bridging review networks and metadata. In Proceedings of the 21th acm sigkdd international conference on knowledge discovery and data mining, 985--994

  12. [20]

    G.; and Duman, E

    S ahin, Y. G.; and Duman, E. 2011. Detecting credit card fraud by decision trees and support vector machines. In Proceedings of the International MultiConference of Engineers and Computer Scientists, volume 1, 442--447. Newswood Limited

  13. [21]

    Seeja, K.; and Zareapoor, M. 2014. FraudMiner: A novel credit card fraud detection model based on frequent itemset mining. The Scientific World Journal, 2014

  14. [22]

    Shen, T.; Zhou, T.; Long, G.; Jiang, J.; Pan, S.; and Zhang, C. 2018. Disan: Directional self-attention network for rnn/cnn-free language understanding. In Thirty-Second AAAI Conference on Artificial Intelligence

  15. [23]

    Shi, Y.; Huang, Z.; Wang, W.; Zhong, H.; Feng, S.; and Sun, Y. 2021. Masked Label Prediction: Unified Massage Passing Model for Semi-Supervised Classification. In IJCAI

  16. [24]

    Song, Z.; Yang, X.; Xu, Z.; and King, I. 2022. Graph-based Semi-supervised Learning: A Comprehensive Review. IEEE transactions on neural networks and learning systems, PP

  17. [25]

    N.; Kaiser, .; and Polosukhin, I

    Vaswani, A.; Shazeer, N.; Parmar, N.; Uszkoreit, J.; Jones, L.; Gomez, A. N.; Kaiser, .; and Polosukhin, I. 2017. Attention is all you need. In Advances in Neural Information Processing Systems, 5998--6008

  18. [26]

    Velickovic, P.; Cucurull, G.; Casanova, A.; Romero, A.; Lio’, P.; and Bengio, Y. 2018. Graph Attention Networks. ArXiv, abs/1710.10903

  19. [27]

    Wang, D.; Lin, J.; Cui, P.; Jia, Q.; Wang, Z.; Fang, Y.; Yu, Q.; Zhou, J.; Yang, S.; and Qi, Y. 2019 a . A Semi-supervised Graph Attentive Network for Financial Fraud Detection. In 2019 IEEE International Conference on Data Mining (ICDM), 598--607. IEEE

  20. [28]

    Wang, J.; Wen, R.; Wu, C.; Huang, Y.; and Xion, J. 2019 b . Fdgars: Fraudster detection via graph convolutional networks in online app review system. In Companion Proceedings of The 2019 World Wide Web Conference, 310--316

  21. [29]

    Xiang, S.; Cheng, D.; Shang, C.; Zhang, Y.; and Liang, Y. 2022 a . Temporal and Heterogeneous Graph Neural Network for Financial Time Series Prediction. Proceedings of the 31st ACM International Conference on Information & Knowledge Management

  22. [30]

    Xiang, S.; Cheng, D.; Zhang, J.; Ma, Z.; Wang, X.; and Zhang, Y. 2022 b . Efficient Learning-based Community-Preserving Graph Generation. 2022 IEEE 38th International Conference on Data Engineering (ICDE), 1982--1994

  23. [31]

    Xiang, S.; Wen, D.; Cheng, D.; Zhang, Y.; Qin, L.; Qian, Z.; and Lin, X. 2021. General graph generators: experiments, analyses, and improvements. The VLDB Journal

  24. [32]

    Xu, D.; Wang, W.; Tang, H.; Liu, H.; Sebe, N.; and Ricci, E. 2018. Structured attention guided convolutional neural fields for monocular depth estimation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 3917--3925

  25. [33]

    Zhang, Y.; Fan, Y.; Ye, Y.; Zhao, L.; and Shi, C. 2019. Key Player Identification in Underground Forums over Attributed Heterogeneous Information Network Embedding Framework. In Proceedings of the 28th ACM International Conference on Information and Knowledge Management, 549--558

  26. [34]

    Zhao, L.; and Akoglu, L. 2020. PairNorm: Tackling Oversmoothing in GNNs. ArXiv, abs/1909.12223

  27. [35]

    , " * write output.state after.block = add.period write newline

    ENTRY address archivePrefix author booktitle chapter edition editor eid eprint howpublished institution isbn journal key month note number organization pages publisher school series title type volume year label extra.label sort.label short.list INTEGERS output.state before.all...

  28. [36]

    write newline

    " write newline "" before.all 'output.state := FUNCTION n.dashify 't := "" t empty not t #1 #1 substring "-" = t #1 #2 substring "--" = not "--" * t #2 global.max substring 't := t #1 #1 substring "-" = "-" * t #2 global.max substring 't := while if t #1 #1 substring * t #2 gl...

Pith tools

Reviewed August 11, 2026 · model on record in the stance chip above.